Pass rates and costs for 63 model–harness pairs across 89 tasks — harness effects, cost–performance structure, oracle bounds, and latent structure.
We analyze pass rates and per-task costs for 63 model–harness pairs (27 models \(\times\) 8 agent harnesses) across 89 Terminal-Bench 2 tasks, asking three descriptive questions: how much does the harness matter and for whom, how do cost and performance trade off across pairs, and how much task-level complementarity exists between pairs. The main observations: (1) harness effects are model-dependent and task-dependent — the best harness varies across models, and even for a fixed model the harness that wins on average wins at the task level only 10–60% of the time; (2) the cost–performance landscape is highly uneven — only 5 of 63 pairs are Pareto-optimal as fixed choices, and a per-task oracle selection reaches 90.4% mean pass at $0.31/task versus 74.8% at $0.75/task for the best single pair, quantifying the headroom between fixed and adaptive selection; (3) complementarity is measurable — an additive task \(+\) pair model leaves 38% of pass-rate variance in the interaction/noise term, pairwise correlations between pairs average only 0.53, and a greedy portfolio of just three pairs recovers 87% oracle pass.
The dataset contains, for each of 63 model–harness pairs, the empirical pass rate (%) and average cost (USD) on each of 89 terminal-agent tasks, estimated from repeated trials (median \(n=5\); range 1–12). Pairs span the Claude, GPT/OSS, Gemini, Grok, and Chinese open-model families and eight harnesses (Claude Code, Claude Code Enhanced, Codex, Gemini CLI, Mini-SWE-Agent, OpenHands, Terminus 2, Terminus 3.3). The task grand-mean pass rate is 32.6%. One task (make-doom-for-mips) is unsolved by every pair; 70 of 89 tasks are solved with 100% reliability by at least one pair. Throughout, “cost” is the average realized API cost per attempt of the task, and the unit of analysis is a task (a proxy for a user query).
The table and figure below show mean pass rates for the eleven models evaluated on three or more harnesses. The best harness is clearly model-dependent: Codex wins for every GPT-5-family model on which it is available (e.g., GPT-5: 51.8% on Codex vs. 34.9–44.8% elsewhere), whereas Claude Sonnet 4.5 prefers Claude Code, Gemini 2.5 Pro prefers Terminus 2, Haiku 4.5 and Gemini 2.5 Flash prefer Mini-SWE-Agent, and Grok 4 prefers OpenHands. The gap between a model’s best and worst harness is often large — 16.9 points for GPT-5, 16.0 for Gemini 2.5 Pro, 15.9 for Haiku 4.5 — comparable to a full model-tier upgrade. A plausible mechanism is co-training: models perform best in harnesses whose scaffolding resembles their vendor’s own agent stack (GPT \(\to\) Codex, Claude \(\to\) Claude Code), but this is not universal (Opus 4.1 slightly prefers Terminus 2), so the mapping must be measured, not assumed.
| Model | Best harness (mean) | Best \(-\) worst gap (pts) | Task-level agreement |
|---|---|---|---|
| GPT-5 | Codex | 16.9 | 60% |
| GPT-5-Mini | Codex | 11.4 | 58% |
| Grok 4 | OpenHands | 6.1 | 47% |
| Gemini 2.5 Pro | Terminus 2 | 16.0 | 38% |
| Claude Sonnet 4.5 | Claude Code | 2.2 | 37% |
| GPT-5-Nano | Codex | 5.0 | 36% |
| Claude Haiku 4.5 | Mini-SWE-Agent | 15.9 | 35% |
| Claude Opus 4.6 | Terminus 3.3 | 11.8 | 31% |
| Gemini 2.5 Flash | Mini-SWE-Agent | 1.2 | 28% |
| GPT-5-Codex | Terminus 2 | 0.9 | 15% |
| Claude Opus 4.1 | Terminus 2 | 2.2 | 10% |
A finer-grained question: fix a model, restrict to tasks where its harnesses achieve different pass rates, and ask how often the globally best harness for that model is also the task-level winner. Agreement ranges from 10% (Opus 4.1) to 60% (GPT-5) — i.e., for most models, on the majority of discriminating tasks some other harness beats the average-best one. Every harness wins somewhere: e.g., for Sonnet 4.5 the task-level winner distribution is Claude Code 19, Mini-SWE-Agent 15, Terminus 2 9, OpenHands 8. Harness choice is therefore not just model-dependent but task-dependent: no fixed model-to-harness assignment is optimal at the task level.
Fitting an additive model \(p_{tj} \approx \mu + \alpha_t + \beta_j\) (task effect \(+\) pair effect) to the \(89 \times 63\) pass-rate matrix: task effects explain 44% of variance, pair effects 18%, and the residual — interaction plus trial noise — is 38%. Even granting that a sizable share of the residual is binomial noise, a purely additive model — under which the best pair on average would be best on every task — is strongly rejected by the data.
Costs span three orders of magnitude ($0.005 to $7.64 mean per task) while pass rates span 3–75%, and cost buys performance very unevenly. Only five pairs are Pareto-optimal as fixed choices:
| Pair | Mean cost / task | Mean pass |
|---|---|---|
| GPT-5-Nano | Codex | $0.005 | 12.2% |
| Grok Code Fast 1 | Terminus 2 | $0.010 | 14.2% |
| DeepSeek V3.2 | Terminus 2 | $0.012 | 39.6% |
| Claude Opus 4.6 | Claude Code Enhanced | $0.113 | 65.8% |
| gemini-3.1-pro | Terminus 3.3 | $0.755 | 74.8% |
Notable dominated regions exist: Opus 4.1 pairs cost $1.8–3.4/task for 36–38%, dominated by DeepSeek V3.2 at 1/150th the price; Haiku 4.5 | OpenHands costs $7.64/task for 14.6% — the harness alone inflated cost ~30× over Haiku on other harnesses with no accuracy gain. Harness choice is thus a cost lever, not only an accuracy lever.
To quantify how much of the landscape a fixed choice leaves on the table, we also trace a per-task selection frontier: for each task, select the pair maximizing \(p_{tj} - \lambda c_{tj}\), and sweep \(\lambda\). This frontier lies well above the single-pair Pareto set at every budget:
A “cheapest reliable” variant — per task, the cheapest pair with pass rate ≥ 50% — covers 82/89 tasks at a mean of $0.17/task, illustrating that most tasks have a cheap specialist and expensive flagships are only needed for a hard tail.
To place the numbers on a common scale, we compute a ladder of oracle reference points, from weakest to strongest. Each answers “how well could selection do if outcomes were known in advance?” under a different restriction:
Interestingly, three tasks (filter-js-from-html, gpt2-codegolf, raman-fitting) are solved by exactly one pair (Opus 4.6 | Claude Code Enhanced) — unique capability that no fixed choice of another pair can recover. The gap between anchors (1) and (5) — 15.6 accuracy points and a 58% cost reduction — measures the total headroom between fixed and per-task selection. Should one later evaluate any adaptive selection method against these bounds, a natural normalized metric is the fraction of this gap captured,
at matched cost.
PCA over tasks (tasks as observations, standardized pair columns): PC1 alone explains 54.7% of variance and orders tasks by generic difficulty — everything from “everyone solves it” to “no one does.” Along this dominant axis, pairs move together: difficulty is a shared property of tasks, not a source of differentiation between pairs. PCA over pairs (pairs as observations): PC1 explains 14.1% and correlates \(r=0.91\) with mean pass rate — a general-capability axis — while PC2/PC3 separate ecosystems: pairs sharing a model correlate at 0.66 on average, pairs sharing only a harness at 0.58, and unrelated pairs at 0.51. The mean pairwise correlation of only 0.53 is the key number: pairs agree on what is hard in general but disagree substantially on which specific tasks they fail. This is also consistent with the greedy-portfolio result: because same-family pairs are the most correlated, the small subsets that recover most of the oracle span different model families and harness styles (a Gemini flagship, a Claude flagship in a native harness, a cheap specialist) rather than variants of one stack.
Across the four analyses, a consistent picture emerges. Model–harness performance on Terminal-Bench 2 is not additive: the best harness is model- and task-dependent, the cost–performance landscape rewards a handful of pairs and dominates the rest, and the substantial gap between the fixed-pair frontier and the per-task oracle frontier — better and cheaper — quantifies real complementarity between pairs, concentrated in a small, ecosystem-diverse subset of 3–4 pairs. Whether that headroom can be captured in practice by predicting per-query outcomes is a separate empirical question that this analysis bounds but does not answer.
One important caveat should temper the headline numbers: the oracle is an optimistic, noise-inflated upper bound. Per-cell pass rates come from as few as 3–5 trials; at \(p=0.5\), \(n=4\), the standard error is \(\pm 25\) points. Taking a row-wise maximum over 63 noisy estimates systematically selects positive noise (winner’s curse), and picking the “cheapest among argmax” pairs compounds the optimism. The true oracle is below 90.4%, and honest estimates of the fixed-vs-adaptive gap require held-out trials or cross-validation of the per-task winner. Part of the 38% “interaction” residual is likewise binomial noise rather than structure. Even under conservative discounting for these effects, however, the qualitative findings — model- and task-dependent harness effects, a sparse Pareto set, and a meaningful gap between fixed and per-task selection — remain intact.
Vartak, Rohit (Jul 2026). How Model–Harness Pairs Behave on Terminal-Bench 2: An Empirical Analysis. https://Rohit01-zoey.github.io/blog/2026/agent-01/.
or as a BibTeX entry:
@article{vartak2026how-model-harness-pairs-behave-on-terminal-bench-2-an-empirical-analysis,
title = {How Model–Harness Pairs Behave on Terminal-Bench 2: An Empirical Analysis},
author = {Vartak, Rohit},
year = {2026},
month = {Jul},
url = {https://Rohit01-zoey.github.io/blog/2026/agent-01/}
}
Here are some more articles you might like to read next: