, Claude Code, and Codex used the same Claude Opus 4.8 model on six public agent benchmarks. and Codex each solved 338/424 tasks. cost $4.82 per solved task versus $5.71 for Codex, while Claude Code led with 358/424.
is a self-evolving AI agent for everyday and professional work. The desktop beta is available from the Beta page.
desktop beta download page.
Before opening the beta, we ran an initial internal evaluation. , Claude Code, and Codex each used Claude Opus 4.8 on the same 424 tasks drawn from six public agent benchmarks. This report presents the complete scores, task-level coverage, costs recalculated under one price schedule, and two task examples verified by public checkers.
1. Core results
Across all six benchmarks, and Codex each solved 338/424 tasks, a 79.72% completion rate. Claude Code solved 358/424 tasks, an 84.43% completion rate.
Figure 1 | Overall results on 424 shared tasks. All three agents used Claude Opus 4.8, the same evaluation workflow, and the same grading rules.
Versions: v1.0.0-pre6, Claude Code 2.1.170, and Codex 0.139.0.
- Against Codex: both solved the same number of tasks. used 15.6% less model resource per solved task, and each agent solved 30 tasks the other missed.
- Against Claude Code: solved 20 fewer tasks. The difference accumulated across five of the six benchmarks.
2. Scope and controls
The comparison concerns the agent harness: the tools, context management, and execution system that turn a model into an operating product. All three agents used Claude Opus 4.8, xhigh reasoning, and a 32,000-token maximum output. Each retained its own tools, context organization, and execution behavior.
The 424 tasks are not the complete contents of the six benchmarks. We selected the first 100 ordered tasks from each sub-benchmark, did not backfill smaller benchmarks from other sets, and excluded tasks with defects. did not perform worse than both comparison agents on the excluded tasks. The remaining 424 task identities and denominators were identical for all three agents, with every outcome aligned to the same task row.
Cost includes only the run used in the final score table. Input and output tokens from that run were repriced under one schedule. Each agent contributes one result per task, and failed-task consumption remains in the total.
Each benchmark defines completion differently. We first used its own checker to obtain a binary task outcome, then added the solved tasks.
| Benchmark | Task requirement | What one “solved” result means |
|---|---|---|
| AppWorld (Trivedi et al., 2024) | Read state and perform multi-step actions in a controlled application world | The final application state passes the checker; a written explanation cannot replace the state change |
| Cybench (Zhang et al., 2025) | Analyze and complete cybersecurity challenges | The submitted result satisfies the challenge verifier; exploration steps do not add points |
| GAIA (Mialon et al., 2023) | Answer questions requiring retrieval, reasoning, multimodal processing, and tool use | The final answer passes the task judgment; answer length and tool count do not affect the score |
| SWE-bench Multilingual (Jimenez et al., 2024) | Modify real repositories in multiple programming languages | The final patch passes task-specific repository tests; the agent's own success claim does not count |
| SWE-rebench (Badertdinov et al., 2025) | Resolve continuously collected real GitHub issues | The repository change passes the verifier; changed-line count does not alter the score |
| Terminal-Bench 2 (Terminal-Bench Team, 2025) | Complete engineering, data, and system tasks in a terminal | The final files, programs, or system state pass the task tests |
3. Performance
3.1 Accuracy: and Codex both reached 79.72%
The 424 shared tasks span six environments. Each benchmark checker marked its tasks solved or unsolved before the results were aggregated.
| Benchmark | n | Claude Code | Codex | |
|---|---|---|---|---|
| AppWorld | 90 | 88/90, 97.78% | 78/90, 86.67% | 87/90, 96.67% |
| Cybench | 37 | 32/37, 86.49% | 29/37, 78.38% | 27/37, 72.97% |
| GAIA | 51 | 49/51, 96.08% | 47/51, 92.16% | 49/51, 96.08% |
| SWE-bench Multilingual | 89 | 68/89, 76.40% | 66/89, 74.16% | 65/89, 73.03% |
| SWE-rebench | 82 | 63/82, 76.83% | 65/82, 79.27% | 62/82, 75.61% |
| Terminal-Bench 2 | 75 | 58/75, 77.33% | 53/75, 70.67% | 48/75, 64.00% |
| Total | 424 | 358/424, 84.43% | 338/424, 79.72% | 338/424, 79.72% |
Figure 2 | Complete results across six benchmarks. All rows use the same completion-rate scale beginning at 50%, because every result exceeds 64%.
The same values can be expressed as the task-count difference between and each comparison agent. A positive number means solved more, a negative number means fewer, and zero means equal counts.
| Benchmark | vs. Claude Code | vs. Codex | Highest result |
|---|---|---|---|
| AppWorld | -1 | +9 | Claude Code, 88/90 |
| Cybench | -5 | -2 | Claude Code, 32/37 |
| GAIA | 0 | +2 | and Claude Code, 49/51 |
| SWE-bench Multilingual | -3 | -1 | Claude Code, 68/89 |
| SWE-rebench | -1 | -3 | Codex, 65/82 |
| Terminal-Bench 2 | -10 | -5 | Claude Code, 58/75 |
| Total | -20 | 0 | Claude Code, 358/424 |
Against Codex, gained 11 tasks across AppWorld and GAIA and lost 11 across Cybench, the two software-engineering benchmarks, and Terminal-Bench 2, producing a net difference of zero. Against Claude Code, tied on GAIA and accumulated a 20-task deficit across the other five benchmarks.
3.2 Cost: had the lowest cost per solved task
| Agent | Billed tasks | Solved tasks | Total cost at uniform prices | Cost per solved task |
|---|---|---|---|---|
| Claude Code | 424 | 358 | $2,579.15 | $7.20 |
| Codex | 424 | 338 | $1,930.78 | $5.71 |
| 424 | 338 | $1,629.32 | $4.82 |
Figure 3 | Completion rate and cost per solved task. Each task counts only the run used for its final outcome; failed-task consumption remains in total cost.
The uniform schedule charges $5 per million input tokens and $25 per million output tokens. and Codex both solved 338 tasks, so their cost per solved task can be compared directly. Using unrounded values, was 15.6% lower. Claude Code's completion rate was 4.72 percentage points higher, at $7.20 per solved task.
“Cost per solved task” divides the total cost of all billed tasks by the solved-task count. Tokens consumed by failed tasks remain in the numerator because real runs do not refund resources after a failure.
Uniform-price total cost for each benchmark follows. Every cell includes all final-scoring tasks for that agent, including failed tasks.
| Benchmark | Claude Code total | Codex total | total |
|---|---|---|---|
| AppWorld | $276.73 | $168.76 | $135.74 |
| Cybench | $210.73 | $139.22 | $69.06 |
| GAIA | $67.30 | $49.21 | $22.17 |
| SWE-bench Multilingual | $751.80 | $576.39 | $576.00 |
| SWE-rebench | $812.94 | $665.76 | $641.42 |
| Terminal-Bench 2 | $459.66 | $331.44 | $184.92 |
| Total | $2,579.15 | $1,930.78 | $1,629.32 |
Lower total cost does not automatically mean lower cost per success. Dividing each benchmark's total by its solved-task count gives the next table.
| Benchmark | Claude Code per solved task | Codex per solved task | per solved task |
|---|---|---|---|
| AppWorld | $3.14 | $2.16 | $1.56 |
| Cybench | $6.59 | $4.80 | $2.56 |
| GAIA | $1.37 | $1.05 | $0.45 |
| SWE-bench Multilingual | $11.06 | $8.73 | $8.86 |
| SWE-rebench | $12.90 | $10.24 | $10.35 |
| Terminal-Bench 2 | $7.93 | $6.25 | $3.85 |
| Total | $7.20 | $5.71 | $4.82 |
Figure 4 | Cost per solved task across six benchmarks. Failed-task consumption remains in the numerator, and each benchmark's solved count is its denominator.
had the lowest cost per solved task on AppWorld, Cybench, GAIA, and Terminal-Bench 2. Codex was lowest on SWE-bench Multilingual and SWE-rebench, by $0.13 and $0.10 respectively.
Costs vary widely across benchmarks. cost $0.45 per GAIA success and $10.35 per SWE-rebench success. Token length, tool interaction, solved count, and checker behavior all affect cost, so this range measures resource use rather than benchmark difficulty.
Token counts came from each final-scoring agent result. We compared self-reported coverage with aligned billing measurements; the -to-Claude Code difference was 1.5 percentage points. Including that difference in a sensitivity check did not change the ranking. The three products expose asymmetric cache fields, so a comparable cache-adjusted bill cannot be constructed under one input definition; the report therefore uses uniform prices only.
4. Equal totals, different task coverage
At least one agent solved 387/424 tasks. All three solved 296, and all three missed 37. The remaining tasks fall into three two-agent and three one-agent combinations.
| Pass combination | Tasks |
|---|---|
| All three solved | 296 |
| Claude Code and Codex only | 22 |
| Claude Code and only | 21 |
| Codex and only | 12 |
| Claude Code only | 19 |
| Codex only | 8 |
| only | 9 |
| None solved | 37 |
The eight rows sum to 424. The three one-agent combinations total 36 tasks: 9 unique to , 8 to Codex, and 19 to Claude Code. The three two-agent combinations total 55 tasks, showing substantial task-level disagreement even when aggregate scores are close.
Comparing directly with Codex, both solved 308 tasks and both missed 56. The remaining 60 split evenly: 30 solved only by and 30 only by Codex.
Figure 5 | Task-level relationship between and Codex. Every segment uses the full 0–424 scale; each agent solved 30 tasks the other missed.
| Benchmark | Both solved | Both missed | only | Codex only |
|---|---|---|---|---|
| AppWorld | 77 | 2 | 10 | 1 |
| Cybench | 25 | 6 | 2 | 4 |
| GAIA | 47 | 2 | 2 | 0 |
| SWE-bench Multilingual | 60 | 18 | 5 | 6 |
| SWE-rebench | 58 | 13 | 4 | 7 |
| Terminal-Bench 2 | 41 | 15 | 7 | 12 |
| Total | 308 | 56 | 30 | 30 |
AppWorld contributed 10 tasks solved only by and one solved only by Codex, a nine-task net advantage. GAIA's 2-to-0 split added two. Cybench, both software-engineering benchmarks, and Terminal-Bench 2 moved in the other direction; Terminal-Bench 2 split 7 to 12, a five-task net advantage for Codex. The six net differences sum to zero.
SWE-bench Multilingual differed by one aggregate point but had 11 task-level disagreements. Terminal-Bench 2 differed by five points but had 19 disagreements. The same named model configuration produced different success sets under different agent systems.
4.1 AppWorld and GAIA: near the highest result in this run
AppWorld checks the final state of an application environment. solved 87/90, Claude Code solved 88, and Codex solved 78. was one task behind the highest result and nine ahead of Codex, its strongest benchmark-level difference against Codex.
GAIA checks final answers. and Claude Code each solved 49/51, while Codex solved 47/51. completed a high share of multi-step tasks under both state-based and answer-based evaluation.
4.2 Two software-engineering benchmarks: no gap larger than three tasks
SWE-bench Multilingual covers real repository changes in multiple programming languages. Claude Code, Codex, and solved 68, 66, and 65 tasks. The largest gap was three, and trailed Codex by one.
SWE-rebench continuously builds tasks from real GitHub issues. Claude Code, Codex, and solved 63, 65, and 62. Codex led; trailed Codex by three and Claude Code by one.
Together, the two software-engineering benchmarks contain 171 tasks, of which solved 127. Task sources, languages, repository structures, and validation methods can change outcomes; one coding leaderboard cannot substitute for a complete software-engineering profile.
4.3 Terminal-Bench 2: the largest single source of the overall gap
Terminal-Bench 2 checks final files, programs, or system state in a terminal environment. solved 48/75, Codex 53/75, and Claude Code 58/75. trailed Codex by five and Claude Code by ten.
Those ten tasks are the largest single contribution to the overall 20-task gap between and Claude Code. Explaining the failures requires task-level analysis.
5. Two tasks verified by public checkers
5.1 Keeping inline code valid when it contains backticks
This SWE-rebench task is matthewwithanm__python-markdownify-230. It asks for a fix to inline-code boundaries during HTML-to-Markdown conversion: when the input itself contains backticks, the old logic can emit Markdown that does not parse correctly.
read the converter and existing tests, chose a delimiter longer than the longest consecutive backtick run in the content, and added boundary tests for leading and trailing backticks plus the kbd and samp aliases. The complete repository test run reported 83 passed, and the SWE-rebench verifier returned 1.0.
Figure 6 | Public task artifact and verification result for matthewwithanm__python-markdownify-230.
Public sources: task or upstream issue; publication license.
5.2 Finding the earliest feasible time across three calendars
This Terminal-Bench 2 task is constraints-scheduling. It provides three read-only calendars, individual time restrictions, and preferences, then asks for a one-hour team meeting and a standards-compliant ICS file.
parsed the three calendars and enumerated candidate times minute by minute. It found Wednesday and Thursday at 11:00 as feasible, chose the earlier Wednesday slot, and added all three attendees. The public verifier checked file structure, attendees, duration, conflicts, hard constraints, and preferences, then returned 1.0.
Figure 7 | Public task artifact and verification result for constraints-scheduling.
Public sources: task and verifier; publication license.
6. What the results mean
solved 338 of these 424 tasks: 87 on AppWorld, 49 on GAIA, 127 across the two software-engineering benchmarks, and 75 across Cybench and Terminal-Bench 2. The aggregate score adds these environments, while the benchmark profile preserves their differences.
Tying Codex means the two agent products solved the same number of tasks in this set. The 30-to-30 task-level split shows that equal totals did not produce identical coverage. 's 15.6% lower cost per solved task further shows that agent execution changes the model resources consumed while attempting the same task set.
The two public examples make “solved” concrete: one required a real repository change that passed the complete test suite; the other required parsing three calendars, satisfying hard constraints, and producing a valid ICS file. They prove that delivered checker-approved results on those two tasks. They do not, by themselves, prove success on other tasks.
7. References
- Badertdinov, I., et al. (2025). SWE-rebench: An Automated Pipeline for Task Collection and Decontaminated Evaluation of Software Engineering Agents. arXiv:2505.20411.
- EvoMap. (2026). .
- Jimenez, C. E., et al. (2024). SWE-bench: Can Language Models Resolve Real-World GitHub Issues?. ICLR 2024. This report uses its multilingual variant, SWE-bench Multilingual.
- Mialon, G., et al. (2023). GAIA: A Benchmark for General AI Assistants. arXiv:2311.12983.
- python-markdownify. (2024). Pull request #230: Handle inline code containing backticks.
- Terminal-Bench Team, Stanford University, & Laude Institute. (2025). Terminal-Bench 2.0. The second example uses its
constraints-schedulingtask. - Trivedi, H., et al. (2024). AppWorld: A Controllable World of Apps and People for Benchmarking Interactive Coding Agents. ACL 2024, 16022-16076.
- Zhang, A. K., et al. (2025). Cybench: A Framework for Evaluating Cybersecurity Capabilities and Risks of Language Models. ICLR 2025.
8. Appendix: evaluation settings
| Item | Setting | How it enters this report |
|---|---|---|
| Agent | v1.0.0-pre6, Claude Code 2.1.170, Codex 0.139.0 | One fixed version identity per agent |
| Model | Claude Opus 4.8 | Same named model |
| Reasoning configuration | xhigh, maximum output 32,000 tokens | Same named configuration |
| Tasks | 424 shared tasks drawn from six public benchmarks | Identical task identities across all three agents |
| Scoring | Each benchmark checker marks solved or unsolved | One final binary outcome per task |
| Metric | Solved-task count and completion rate | No partial credit for near-correct results |
| Cost | Input and output tokens from final-scoring results, repriced under one schedule | One billed result per agent per task, including failures |
| Examples | Original task, final submission, necessary execution evidence, and public checker | Included only after public-license and evidence checks |



