November 4, 2026
SaaS Marathon Bench
Can a model carry a long piece of business work across the software a company really runs on? Each task crosses several apps among HubSpot, Attio, Notion, Gmail, Google Calendar, Drive, Docs and Sheets, Granola, Mercury, Clay and lemlist. Models work through the GUI, by computer use on the screen, and through the CLI, over the apps' REST APIs and MCP servers together. Only what's in the apps at the end counts.
TL;DR
Claude Opus 5.5 ranks first, with GPT-6 Astra and Qwen3.8 Max tied for second. CLI beats GUI overall, and even the top model fails more than half its runs.
Claude Opus 5.5CLI47% ±17%Pass@3 60%
GPT-6 AstraCLI43% ±17%Pass@3 50%
Qwen3.8 MaxCLI43% ±17%Pass@3 60%
Claude Haiku 5.5CLI37% ±16%Pass@3 60%
Claude Sonnet 5.5CLI37% ±16%Pass@3 40%
Gemini 4 ArgonCLI37% ±16%Pass@3 40%
GPT-6.1 SolCLI37% ±16%Pass@3 50%
DeepSeek V4 FlashCLI30% ±16%Pass@3 50%
Gemini 3.8 FlashCLI27% ±15%Pass@3 40%
Grok 4.7CLI23% ±15%Pass@3 30%
GLM 5CLI3% ±8%Pass@3 10%
Claude Sonnet 5.5GUI33% ±16%Pass@3 50%
Claude Opus 5.5GUI30% ±16%Pass@3 50%
Gemini 3.8 FlashGUI20% ±14%Pass@3 40%
GPT-6 AstraGUI20% ±14%Pass@3 40%
GPT-6.1 SolGUI13% ±12%Pass@3 40%
Gemini 4 ArgonGUI10% ±11%Pass@3 20%
Claude Haiku 5.5GUI0% ±6%Pass@3 0%
Grok 4.7GUI0% ±6%Pass@3 0%
Qwen3.8 MaxGUI0% ±6%Pass@3 0%
Claude Opus 5.5CLI47% ±17%Pass@3 60%
GPT-6 AstraCLI43% ±17%Pass@3 50%
Qwen3.8 MaxCLI43% ±17%Pass@3 60%
Claude Haiku 5.5CLI37% ±16%Pass@3 60%
Claude Sonnet 5.5CLI37% ±16%Pass@3 40%
Gemini 4 ArgonCLI37% ±16%Pass@3 40%
GPT-6.1 SolCLI37% ±16%Pass@3 50%
DeepSeek V4 FlashCLI30% ±16%Pass@3 50%
Gemini 3.8 FlashCLI27% ±15%Pass@3 40%
Grok 4.7CLI23% ±15%Pass@3 30%
GLM 5CLI3% ±8%Pass@3 10%
Pass@1 is the share of runs that passed every required check; whiskers show its 95% intervals. Pass@3 is the share of tasks where at least one of a row's 3 runs passed, with no interval on so few tasks. 10 tasks × 3 runs per model per interface, version v1.
- Version
- v1
- Date
- November 4, 2026
- Models
- 11
- Tasks
- 10
- Runs per model × interface
- 3
- Harness
- v1
Findings
Every row below ran the same tasks the same number of times.
CLI beats GUI overall.
Across all runs, 33% of CLI runs passed against 14% of GUI runs. Among the nine models that ran both, the CLI wins seven tasks, ties two and loses one. The median model gains 23 points of pass rate over the CLI, and its CLI row costs 1.9× less per task than its GUI row. The best GUI row passes 33% of its runs, the best CLI row 47%. DeepSeek V4 Flash and GLM 5 have no GUI score at all, since they can't see one.
Three rows set the trade-off between cost and pass rate: DeepSeek V4 Flash (CLI), Claude Haiku 5.5 (CLI) and Claude Opus 5.5 (CLI).
Among rows with at least one passing run, every other row is matched or beaten on both axes by one of those. Three rows passed nothing and are left out. Cost per task runs from $0.03 to $20.52. The cheapest point on the frontier, DeepSeek V4 Flash (CLI), passes 30% of its runs.
Pass rate (%)
Mean model cost per task (US dollars, log scale)
Working longer doesn't predict passing: Spearman's ρ is −0.35 across 20 rows.
Across the models, more time on the task doesn't reliably come with a better result. Median runs go from 42 to 453 steps, and a model's GUI row takes more of them than its CLI row. We don't fit a line through this few dots.
Pass rate (%)
Median steps per run
Two of the ten tasks beat every model, and task pass shares run from 0% to 57%.
Tasks sit in rows, grouped by how many apps they span, and each cell is the share of a row's runs that pass. The band with the lowest pass share is 6 apps, at 7%, and the highest is 4 apps, at 29%. Where a cell is neither empty nor full, the same model on the same task sometimes passed and sometimes didn't, which is why every row runs each task more than once. The widest reach on the board is six of the ten tasks, passed at least once by Claude Opus 5.5 (CLI), Qwen3.8 Max (CLI) and Claude Haiku 5.5 (CLI).
| All | Claude Sonnet 5.5 | Claude Opus 5.5 | Gemini 3.8 Flash | GPT-6 Astra | GPT-6.1 Sol | Gemini 4 Argon | Claude Haiku 5.5 | Grok 4.7 | Qwen3.8 Max | |
|---|---|---|---|---|---|---|---|---|---|---|
| Model avg | 14% | 33% | 30% | 20% | 20% | 13% | 10% | 0% | 0% | 0% |
| 6 apps | ||||||||||
| Task 1 | 7% | 67% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
| 2 apps | ||||||||||
| Task 2 | 4% | 0% | 0% | 33% | 0% | 0% | 0% | 0% | 0% | 0% |
| 5 apps | ||||||||||
| Task 3 | 11% | 0% | 67% | 0% | 33% | 0% | 0% | 0% | 0% | 0% |
| 3 apps | ||||||||||
| Task 4 | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
| Task 5 | 44% | 100% | 100% | 33% | 67% | 33% | 67% | 0% | 0% | 0% |
| 4 apps | ||||||||||
| Task 6 | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
| Task 7 | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
| Task 8 | 15% | 33% | 67% | 0% | 0% | 33% | 0% | 0% | 0% | 0% |
| Task 9 | 33% | 67% | 33% | 100% | 67% | 33% | 0% | 0% | 0% | 0% |
| Task 10 | 26% | 67% | 33% | 33% | 33% | 33% | 33% | 0% | 0% | 0% |
| All | Claude Opus 5.5 | GPT-6 Astra | Qwen3.8 Max | Claude Haiku 5.5 | Claude Sonnet 5.5 | Gemini 4 Argon | GPT-6.1 Sol | DeepSeek V4 Flash | Gemini 3.8 Flash | Grok 4.7 | GLM 5 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model avg | 33% | 47% | 43% | 43% | 37% | 37% | 37% | 37% | 30% | 27% | 23% | 3% |
| 6 apps | ||||||||||||
| Task 1 | 6% | 0% | 0% | 33% | 0% | 0% | 0% | 0% | 33% | 0% | 0% | 0% |
| 2 apps | ||||||||||||
| Task 2 | 24% | 0% | 0% | 100% | 33% | 0% | 67% | 0% | 67% | 0% | 0% | 0% |
| 5 apps | ||||||||||||
| Task 3 | 27% | 100% | 67% | 0% | 33% | 0% | 0% | 67% | 0% | 33% | 0% | 0% |
| 3 apps | ||||||||||||
| Task 4 | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
| Task 5 | 67% | 33% | 100% | 100% | 67% | 100% | 100% | 100% | 33% | 33% | 67% | 0% |
| 4 apps | ||||||||||||
| Task 6 | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
| Task 7 | 21% | 33% | 67% | 0% | 0% | 0% | 100% | 33% | 0% | 0% | 0% | 0% |
| Task 8 | 52% | 100% | 100% | 33% | 33% | 67% | 0% | 67% | 0% | 100% | 67% | 0% |
| Task 9 | 55% | 100% | 0% | 67% | 100% | 100% | 0% | 0% | 100% | 0% | 100% | 33% |
| Task 10 | 79% | 100% | 100% | 100% | 100% | 100% | 100% | 100% | 67% | 100% | 0% | 0% |
Tasks
- 4Match client deposits to invoices0% ±3%
- 6Find buyers and launch outreach0% ±3%
- 1Forecast deals from recent sales calls7% ±7%
- 7Reconcile what a partner is owed12% ±8%
- 2Review reimbursements before year-end close15% ±9%
- 3Audit a week of sales activity20% ±10%
- 8Expense recent business trips35% ±12%
- 9Chase a vendor's missing refund45% ±12%
- 10Draft a client contract amendment55% ±12%
- 5Untangle a client's duplicate records57% ±12%
The share of all a task's runs that passed every required check, with its 95% interval.