README.md

June 21, 2026 ยท View on GitHub

MacAgentBench iconย  MacAgentBench: Benchmarking AI Agents on Real-World macOS Desktop

A comprehensive macOS benchmark for evaluating computer use agents.
676 tasks across 25 applications, deterministic rule-based evaluation,
fine-grained multi-checkpoint scoring, and support for 3 agent frameworks.

Leaderboard Quick Start Categories Tasks Models License

๐Ÿ† Live Leaderboard Snapshot

MacAgentBench live leaderboard screenshot

See the full live leaderboard โ†’

MacAgentBench overview


๐Ÿ”Ž Overview

MacAgentBench is a comprehensive macOS agent benchmark with:

  • 676 tasks across 25 applications
  • Deterministic rule-based evaluation with fine-grained multi-checkpoint scoring
  • 3 agent frameworks (Baseline, Agent-S3, OpenClaw) and 16+ models evaluated
  • Containerized execution โ€” each task runs in an independent Docker container

๐Ÿ“Š Key Results

FrameworkBest ModelPass@1
OpenClawClaude Opus 4.673.7%
Agent-S3Claude Opus 4.666.9%
BaselineClaude Opus 4.639.2%

๐Ÿš€ Quick Start

1. Set Up the Environment

Download the macOS VM image (~50GB):

pip install huggingface_hub
huggingface-cli download JetLM/OpenClaw-macOS --local-dir .

Install dependencies:

pip install -r requirements.txt

Start the macOS Docker container:

bash launcher/docker/simple_start.sh

Connect via VNC:

vncviewer localhost:5901

macOS VM screenshot

2. Run Evaluation

  1. Configure your model API in run_example.sh
  2. Run:
bash run_example.sh

For specific models with parallel dispatch, see scripts in scripts/run_*.sh.

Supported Model Types

Model TypeExamples
gptGPT-5.4, Gemini 3.1 Pro
claudeClaude Opus 4.6
qwen3vlQwen3-VL-8B/32B
InternVLInternVL3.5-8B/14B
scalecuaScaleCUA-7B/32B
uitarsUI-TARS-7B/72B
guiowlGUI-Owl-1.5-8B/32B
OpenCUAOpenCUA-7B/32B
openclawAny model via OpenClaw framework

๐Ÿ“ Project Structure

MacAgentBench/
โ”œโ”€โ”€ tasks/                   # 676 task definitions (JSON)
โ”‚   โ”œโ”€โ”€ multi_app/           # 140 cross-application tasks
โ”‚   โ”œโ”€โ”€ new_reminders/       # Reminders app tasks
โ”‚   โ”œโ”€โ”€ ...                  # 25 application domains
โ”œโ”€โ”€ mm_agents/               # Agent implementations
โ”‚   โ”œโ”€โ”€ agent.py             # PromptAgent (GPT/Claude/Gemini)
โ”‚   โ”œโ”€โ”€ anthropic/           # Claude Computer Use agent
โ”‚   โ”œโ”€โ”€ qwen3vl_agent.py     # Qwen3-VL agent
โ”‚   โ”œโ”€โ”€ guiowl_agent.py      # GUI-Owl agent
โ”‚   โ”œโ”€โ”€ opencua/             # OpenCUA agent
โ”‚   โ”œโ”€โ”€ internvl_agent.py    # InternVL / ScaleCUA agent
โ”‚   โ”œโ”€โ”€ uitars_agent.py      # UI-TARS agent
โ”‚   โ””โ”€โ”€ openclaw_agent.py    # OpenClaw framework agent
โ”œโ”€โ”€ evaluators/              # Rule-based evaluation functions
โ”œโ”€โ”€ controllers/             # macOS VM environment control
โ”œโ”€โ”€ Agent-S3/                # Agent-S3 framework integration
โ”œโ”€โ”€ parallel_dispatch.py     # Dynamic task-level parallel dispatch
โ”œโ”€โ”€ batch_run.py             # Core evaluation runner
โ”œโ”€โ”€ run_example.sh           # Example evaluation script
โ””โ”€โ”€ scripts/                 # Run scripts & metric computation
    โ”œโ”€โ”€ run_*.sh             # Model-specific evaluation scripts
    โ”œโ”€โ”€ calc_metrics.py      # Pass@1/k/^k computation
    โ”œโ”€โ”€ calc_fine_eval_table.py  # Fine-grained evaluation
    โ”œโ”€โ”€ calc_skill_table.py  # Skill coverage analysis
    โ””โ”€โ”€ calc_per_category.py # Per-category breakdown

๐Ÿ™Œ Contribution Guide

We warmly welcome contributions! Here's how you can help:

  • Add new models โ€” Integrate and test new agent models
  • Add new tasks โ€” Submit macOS tasks that reflect real-world scenarios
  • Improve evaluators โ€” Write verification scripts for new task types
  • Report issues โ€” Open an Issue to discuss bugs or ideas

To contribute: fork the repo, make changes in a separate branch, and submit a Pull Request.

โค Acknowledgments

We thank the following projects:

๐Ÿ“ฌ Contact

If you have questions or would like to collaborate, please contact us at: