Terminal-Bench 3.0

What the results say

Every verifier failure is counted under exactly one mode — 3,833 of them across this drop.

Failure stage
7 of them — WHERE in the work a trial broke, at the earliest point that broke.
Failure mode
22 of them — WHAT went wrong, named, inside one stage. Every mode belongs to exactly one stage.
  1. Most failures land at Misread the problem

    Built a coherent, internally consistent solution to a different reading of the spec. The work is complete and confidently delivered; the interpretation is wrong. It accounts for 1,468 of the drop's 3,833 verifier failures — more than any other stage, and every model on the board is in that number.

How the failure was delivered

Read per trajectory, independently of the mechanism below — what the agent did at the point of failure. Each bar is a share of every classified failing trial. Supplied by the producer; the counts are theirs.

  • confident false completion67.2%

    Ran its own checks, read them as passing, and declared success.

    2,574 failing trials

  • shipped unvalidated17.3%

    Declared success without ever exercising the deliverable.

    664 failing trials

  • sandbox-blind0.1%

    Noted it could not exercise the real path, then shipped on inspection.

    2 failing trials

  • knowingly incomplete2.9%

    Flagged a caveat or unresolved gap in its final message.

    113 failing trials

  • delivery broke1.7%

    No usable artifact arrived.

    64 failing trials

  • no claim7.1%

    Ended without asserting the work was done.

    272 failing trials

Failure modes

Every failing trial carries exactly one mechanism. A few are read from the trial itself — a harness exception, a verifier that printed nothing, a completion declared with no shell or file action — and the rest inherit the mechanism reviewed for their task, which means a mode says what that task traps rather than what that trajectory did. The bar under each stage is its share of every classified failure — how much of the drop it accounts for. The dots are how often each model’s own trials were tagged with it, on one scale across every card. Two different denominators, so a large stage is not the same claim as a model that hits one often.

  • GPT-5.6 Solmax
  • Fable-5high
  • Grok-4.5high
  • GLM-5.2high
  • KIMI K3thinking:enabled
  • Opus-4.8 · terminus-2xhigh
  • KIMI K2.7max
  • Inklingxhigh
  1. Misread the problem38.3%

    1468 failures · 38.3% of all

    Built a coherent, internally consistent solution to a different reading of the spec. The work is complete and confidently delivered; the interpretation is wrong.

    3 modes
    • predicate scope error16 tasks · 657 failures · 17.1%Right computation, wrong set of things to run it over — rows the spec excludes stay in, or rows it includes are filtered out.
    • domain prose misoperationalized16 tasks · 451 failures · 11.8%A rule stated in domain prose became the wrong formula or judgment. The code is faithful to the agent's reading of the standard, not to the standard.
    • identifier space conflation8 tasks · 360 failures · 9.4%Two identifier or name spaces treated as one — or one split in two — so entities get matched, merged or attributed to the wrong owner.

    Most affected tasks · failuresdocx-numbering-resolution 64bundler-effect-dedup 62saga-rollback-generator 61daemon-orphan-cleanup 60dynamic-import-impact 58two-class-eps 56

    Trials tagged, per model13 pts spread

    0%10%20%30%

    GPT-5.6 Solmax133 / 800 trialsFable-5high142 / 800 trialsGrok-4.5high185 / 800 trialsGLM-5.2high196 / 800 trialsKIMI K3thinking:enabled189 / 800 trialsOpus-4.8 · terminus-2xhigh178 / 800 trialsKIMI K2.7max205 / 800 trialsInklingxhigh240 / 800 trials

    48 sampled trials

  2. Under-modeled a stated requirement26.8%

    1028 failures · 26.8% of all

    Right approach, incomplete coverage: one named requirement — a code path, a boundary, a hard constraint, an input form — was never represented in the solution.

    6 modes
    • optimization constraint violation8 tasks · 315 failures · 8.2%A stated constraint on the solution was never enforced, so the answer optimizes over a space the spec does not allow.
    • state channel not consulted6 tasks · 278 failures · 7.3%A required source of state — an amendment log, a side table, a second channel — was never read, so the work proceeds from an incomplete picture.
    • periodic boundary rule dropped5 tasks · 190 failures · 5.0%The wrap-around rule at the domain boundary was not applied; the interior is correct.
    • boundary case omission5 tasks · 148 failures · 3.9%Main path right, one named edge case never represented in the solution.
    • roundtrip invariant broken1 task · 62 failures · 1.6%The transform has to be reversible and is not: applying it and undoing it does not return the input, because the forward step quietly drops information it cannot reconstruct.
    • hard output limit exceeded1 task · 35 failures · 0.9%A stated maximum on the output's own shape was exceeded. Not a quality bar: one violation is a failure.

    Most affected tasks · failuresrenewal-cohort-migration 62replay-divergence-debug 62stale-lineage-rematerialize 60surgery-pacu-blocking 56transitive-step-cache 54tail-sampling-buffer 53

    Trials tagged, per model7 pts spread

    0%10%20%30%

    GPT-5.6 Solmax102 / 800 trialsFable-5high125 / 800 trialsGrok-4.5high121 / 800 trialsGLM-5.2high111 / 800 trialsKIMI K3thinking:enabled139 / 800 trialsOpus-4.8 · terminus-2xhigh131 / 800 trialsKIMI K2.7max138 / 800 trialsInklingxhigh161 / 800 trials

    50 sampled trials

  3. Missed the numeric bar20.7%

    792 failures · 20.7% of all

    The deliverable runs and is accepted as well-formed, then misses a number the task states: an accuracy or error bound, a reference output it has to reproduce, or an allowed visual diff.

    3 modes
    • metric over stated threshold13 tasks · 514 failures · 13.4%A declared bound — MAE, MAPE, RMSE, CRPS, bias, correlation, positional error, cost over optimal — came back on the wrong side of the line.
    • perceptual diff over threshold5 tasks · 143 failures · 3.7%Rendered or sampled output differs from the reference by more than the allowed diff — pixel ratio, contour topology, audio onset, tile seam.
    • reference mismatch beyond tolerance5 tasks · 135 failures · 3.5%Not an accuracy shortfall but a parity one: the output does not reproduce the reference, or does not reproduce itself across runs, seeds, merges or replays.

    Most affected tasks · failuresms-channel-pathology 64recruiting-yield-forecast 62svg-contour-isolines 58compositional-share-forecast 57raster-warp-holes 53countmin-merge-drift 51

    Trials tagged, per model7 pts spread

    0%10%20%30%

    GPT-5.6 Solmax77 / 800 trialsFable-5high86 / 800 trialsGrok-4.5high77 / 800 trialsGLM-5.2high102 / 800 trialsKIMI K3thinking:enabled91 / 800 trialsOpus-4.8 · terminus-2xhigh113 / 800 trialsKIMI K2.7max117 / 800 trialsInklingxhigh129 / 800 trials

    46 sampled trials

  4. Broke under re-entry or concurrency7.9%

    302 failures · 7.9% of all

    Correct on one clean pass; violates an invariant once operations interleave, retry, replay, or get revisited in a different order — whether by another worker or by the runtime itself.

    2 modes
    • concurrency invariant violation6 tasks · 247 failures · 6.4%The invariant holds serially and breaks once operations interleave, retry, replay or shard.
    • nondeterministic state invalidation1 task · 55 failures · 1.4%Correct on one forward pass, wrong once the runtime revisits state in a different order — garbage collection, weak references, hash-seed ordering, a solver backtracking. No second worker involved; the nondeterminism is inside the single process.

    Most affected tasks · failureskafka-consumer-offset 59iterator-invalidation-gc 55speculative-execution-determinism 52consumer-offset-rebalance 49anesthesia-billing-concurrency 37entity-sequence-race 33

    Trials tagged, per model4 pts spread

    0%10%20%30%

    GPT-5.6 Solmax17 / 800 trialsFable-5high43 / 800 trialsGrok-4.5high38 / 800 trialsGLM-5.2high29 / 800 trialsKIMI K3thinking:enabled41 / 800 trialsOpus-4.8 · terminus-2xhigh43 / 800 trialsKIMI K2.7max50 / 800 trialsInklingxhigh41 / 800 trials

    48 sampled trials

  5. Failed at delivery, not reasoning1.7%

    64 failures · 1.7% of all

    The reasoning may be sound, but the artifact never arrived in the required form — missing, unrunnable, or misnamed.

    3 modes
    • deliverable not produced28 tasks · 50 failures · 1.3%The verifier reports the required artifact absent.
    • deliverable contract violation5 tasks · 11 failures · 0.3%The artifact exists but not in the required shape — a required entry point or attribute is missing or misnamed.
    • unperformed work declared complete3 tasks · 3 failures · 0.1%Completion declared with no shell command and no file edit anywhere in the trajectory.

    Most affected tasks · failuresanesthesia-billing-concurrency 6output-scope-leak 6svg-winding-correction 4chassis-drayage-allocation 3cron-dst-ambiguity 3svg-boolean-ops 3

    Trials tagged, per model4 pts spread

    0%10%20%30%

    GPT-5.6 Solmax1 / 800 trialsFable-5high1 / 800 trialsGrok-4.5high10 / 800 trialsGLM-5.2high2 / 800 trialsKIMI K3thinking:enabled1 / 800 trialsOpus-4.8 · terminus-2xhigh1 / 800 trialsKIMI K2.7max17 / 800 trialsInklingxhigh31 / 800 trials

    24 sampled trials

  6. Resolved a spec conflict unilaterally0.9%

    35 failures · 0.9% of all

    The spec pulled two ways. The agent picked one side and shipped it, or fail-closed on input the verifier treats as valid, instead of satisfying both.

    1 mode
    • defensive strictness rejected2 tasks · 35 failures · 0.9%The agent's own guard fails closed on input the verifier treats as valid.

    Most affected tasks · failureskafka-transactional-id 24forecast-audit-reconstruction 11

    Trials tagged, per model1 pts spread

    0%10%20%30%

    GPT-5.6 Solmax8 / 800 trialsFable-5high9 / 800 trialsGrok-4.5high4 / 800 trialsGLM-5.2high5 / 800 trialsKIMI K3thinking:enabled1 / 800 trialsOpus-4.8 · terminus-2xhigh7 / 800 trialsKIMI K2.7max1 / 800 trialsInklingxhigh0 / 800 trials

    29 sampled trials

  7. Held out — not the agentthe grader3.8%

    144 failures · 3.8% of all

    Failures the analysis excludes from every share because nothing about them is a property of the model: infrastructure exceptions, a verifier that broke, a harness scoring gap, and a safety guardrail abort.

    4 modes
    • infra exception118 failures · 3.1% · Harness-fixableThe trial raised a harness exception — no verdict was ever reached.
    • verifier fragility21 failures · 0.5% · Harness-fixableThe verifier itself crashed or produced no output for a scored failure.
    • harness scoring gap3 failures · 0.1% · Harness-fixableThe trial completed but no reward was recorded.
    • safety guardrail abort2 failures · 0.1% · Harness-fixableThe run stopped on a provider-side guardrail, not on the task.

    Trials tagged, per model6 pts spread

    0%10%20%30%

    GPT-5.6 Solmax1 / 800 trialsFable-5high4 / 800 trialsGrok-4.5high7 / 800 trialsGLM-5.2high19 / 800 trialsKIMI K3thinking:enabled19 / 800 trialsOpus-4.8 · terminus-2xhigh25 / 800 trialsKIMI K2.7max48 / 800 trialsInklingxhigh21 / 800 trials
Inside the trajectory

Misread the problem

48 sampled failing trials

The producer's own evidence for this stage, never folded into any count. Pick one:

docx-numbering-resolutionFable-5domain prose misoperationalizedconfident false completion

Failure profile

How often each model broke down at each stage of the work, as a share of its trials — a different measurement from the counts below, and the one that compares models. The chart opens on the stages the field does worst at and on the models furthest apart there; pin a model in the picker and it re-picks to that model’s own worst. Every stage and every model stays one chip away.

Models to compare
Failure Stages · 3 minimum, 7 maximum
Scale · what the outer ring is worth
Profile radarOne axis per selected stage, 6 of the 7 it can hold at once. Further out is more of that model’s trials tagged; the outer ring is 30% of a model’s trials.
8%15%22%30%Misread theproblemMisread the problemUnder-modeleda statedrequirementUnder-modeled a stated requirementMissed thenumeric barMissed the numeric barBroke underre-entry orconcurrencyBroke under re-entry or concurrencyFailed atdelivery, notreasoningFailed at delivery, not reasoningResolved aspec conflictunilaterallyResolved a spec conflict unilaterallyGPT-5.6 SolFable-5KIMI K2.7Inkling

Point at a shape — or a model above — to read its values.

Incidence — model × failure stageTrials tagged with each plotted stage, as a share of the trials that model made. The figure beside a stage is its spread — the gap between the model that hits it most and the one that hits it least.

  • 1Misread the problem13 pts

    • GPT-5.6 Sol133 / 800
    • Fable-5142 / 800
    • KIMI K2.7205 / 800
    • Inkling240 / 800
  • 2Under-modeled a stated requirement7 pts

    • GPT-5.6 Sol102 / 800
    • Fable-5125 / 800
    • KIMI K2.7138 / 800
    • Inkling161 / 800
  • 3Missed the numeric bar7 pts

    • GPT-5.6 Sol77 / 800
    • Fable-586 / 800
    • KIMI K2.7117 / 800
    • Inkling129 / 800
  • 4Broke under re-entry or concurrency4 pts

    • GPT-5.6 Sol17 / 800
    • Fable-543 / 800
    • KIMI K2.750 / 800
    • Inkling41 / 800
  • 5Failed at delivery, not reasoning4 pts

    • GPT-5.6 Sol1 / 800
    • Fable-51 / 800
    • KIMI K2.717 / 800
    • Inkling31 / 800
  • 6Resolved a spec conflict unilaterally1 pts

    • GPT-5.6 Sol8 / 800
    • Fable-59 / 800
    • KIMI K2.71 / 800
    • Inkling0 / 800

Failure modes by model

Every cell is a share of that model's own failures, so columns stay comparable at very different failure counts. Mechanism says what broke; behaviour says what the agent did about it —darker is a larger share of that model's failures.

LayerGPT-5.6 Sol338 failuresFable-5406 failuresGrok-4.5435 failuresGLM-5.2445 failuresKIMI K3462 failuresOpus-4.8 · terminus-2473 failuresKIMI K2.7528 failuresInkling602 failures
Mechanism — what broke
Misread the problem39.3%35.0%42.5%44.0%40.9%37.6%38.8%39.9%
Under-modeled a stated requirement30.2%30.8%27.8%24.9%30.1%27.7%26.1%26.7%
Missed the numeric bar22.8%21.2%17.7%22.9%19.7%23.9%22.2%21.4%
Broke under re-entry or concurrency5.0%10.6%8.7%6.5%8.9%9.1%9.5%6.8%
Failed at delivery, not reasoning0.3%0.2%2.3%0.4%0.2%0.2%3.2%5.1%
Resolved a spec conflict unilaterally2.4%2.2%0.9%1.1%0.2%1.5%0.2%0.0%
Behaviour — how it shipped
confident false completion70.4%51.7%56.8%79.1%74.7%72.1%70.3%78.1%
shipped unvalidated13.9%19.7%26.0%10.3%20.8%22.4%18.8%12.8%
sandbox-blind0.0%0.2%0.0%0.0%0.0%0.0%0.2%0.0%
knowingly incomplete0.0%22.2%0.2%0.2%0.0%3.4%0.2%0.7%
delivery broke0.3%0.2%2.3%0.4%0.2%0.2%3.2%5.1%
no claim15.4%5.9%14.7%9.9%4.3%1.9%7.4%3.3%

Failure modes by domain

Share of each domain's failures. A domain is a fixed set of tasks, so read this as a map of where each mechanism lives, not as evidence that a domain causes it.

DomainFailuresMisread the problemUnder-modeled a stated requirementMissed the numeric barBroke under re-entry or concurrencyResolved a spec conflict unilaterallyFailed at delivery, not reasoning
Distributed Systems & Databases14 tasks57232.7%25.0%0.0%36.7%4.2%1.4%
Developer Toolchain & Build12 tasks55956.7%31.7%0.0%9.8%0.0%1.8%
Business & Domain Workflows14 tasks48463.8%10.3%12.8%7.6%2.3%3.1%
Scientific Computing & Simulation12 tasks43510.6%38.4%50.3%0.0%0.0%0.7%
Data Engineering & Pipelines10 tasks42235.3%51.7%12.1%0.0%0.0%0.9%
ML & Forecasting11 tasks36615.3%0.0%82.5%0.0%0.0%2.2%
Media & Graphics12 tasks3440.0%50.9%45.9%0.0%0.0%3.2%
Systems & SRE7 tasks33169.5%29.6%0.0%0.0%0.0%0.9%
Security & Forensics5 tasks17698.9%0.0%0.0%0.0%0.0%1.1%

Failure modes by model and domain

Each cell is a share of that model's failures in that domain — the domain row carries the denominators. Mechanisms a domain never produced are left out of its block.

Widest spreads across models: Missed the numeric bar in Media & Graphics, 37.8%–61.5% · Missed the numeric bar in Scientific Computing & Simulation, 40.0%–60.0% · Missed the numeric bar in ML & Forecasting, 75.0%–94.2%. Treat anything narrower as noise at these denominators.

Domain / mechanismGPT-5.6 SolFable-5Grok-4.5GLM-5.2KIMI K3Opus-4.8 · terminus-2KIMI K2.7Inkling
Distributed Systems & Databases14 tasks47 fails80 fails78 fails55 fails74 fails71 fails85 fails82 fails
Misread the problem27.7%23.8%37.2%30.9%39.2%33.8%32.9%34.1%
Under-modeled a stated requirement19.1%28.7%21.8%27.3%25.7%25.4%24.7%25.6%
Broke under re-entry or concurrency36.2%37.5%35.9%34.5%33.8%38.0%40.0%36.6%
Resolved a spec conflict unilaterally17.0%10.0%0.0%7.3%1.4%2.8%1.2%0.0%
Failed at delivery, not reasoning0.0%0.0%5.1%0.0%0.0%0.0%1.2%3.7%
Developer Toolchain & Build12 tasks59 fails59 fails63 fails73 fails79 fails68 fails73 fails85 fails
Misread the problem61.0%52.5%52.4%60.3%64.6%51.5%52.1%57.6%
Under-modeled a stated requirement39.0%33.9%34.9%28.8%24.1%35.3%32.9%28.2%
Broke under re-entry or concurrency0.0%11.9%12.7%11.0%10.1%11.8%11.0%9.4%
Failed at delivery, not reasoning0.0%1.7%0.0%0.0%1.3%1.5%4.1%4.7%
Business & Domain Workflows14 tasks44 fails49 fails67 fails65 fails49 fails65 fails66 fails79 fails
Misread the problem75.0%59.2%62.7%70.8%57.1%61.5%59.1%65.8%
Under-modeled a stated requirement9.1%12.2%10.4%10.8%10.2%6.2%10.6%12.7%
Missed the numeric bar15.9%14.3%11.9%12.3%16.3%12.3%12.1%10.1%
Broke under re-entry or concurrency0.0%12.2%3.0%3.1%16.3%12.3%12.1%3.8%
Resolved a spec conflict unilaterally0.0%2.0%6.0%1.5%0.0%7.7%0.0%0.0%
Failed at delivery, not reasoning0.0%0.0%6.0%1.5%0.0%0.0%6.1%7.6%
Scientific Computing & Simulation12 tasks40 fails50 fails50 fails59 fails51 fails56 fails59 fails70 fails
Misread the problem5.0%0.0%16.0%13.6%7.8%14.3%13.6%11.4%
Under-modeled a stated requirement40.0%40.0%44.0%35.6%43.1%32.1%35.6%38.6%
Missed the numeric bar55.0%60.0%40.0%50.8%49.0%53.6%49.2%47.1%
Failed at delivery, not reasoning0.0%0.0%0.0%0.0%0.0%0.0%1.7%2.9%
Data Engineering & Pipelines10 tasks31 fails52 fails47 fails43 fails61 fails66 fails53 fails69 fails
Misread the problem25.8%32.7%34.0%32.6%37.7%39.4%34.0%39.1%
Under-modeled a stated requirement58.1%61.5%51.1%53.5%50.8%50.0%50.9%43.5%
Missed the numeric bar16.1%5.8%14.9%14.0%11.5%10.6%15.1%11.6%
Failed at delivery, not reasoning0.0%0.0%0.0%0.0%0.0%0.0%0.0%5.8%
ML & Forecasting11 tasks34 fails27 fails34 fails51 fails45 fails52 fails63 fails60 fails
Misread the problem17.6%18.5%11.8%11.8%24.4%5.8%15.9%18.3%
Missed the numeric bar79.4%81.5%88.2%86.3%75.6%94.2%81.0%75.0%
Failed at delivery, not reasoning2.9%0.0%0.0%2.0%0.0%0.0%3.2%6.7%
Media & Graphics12 tasks37 fails39 fails28 fails31 fails45 fails40 fails49 fails75 fails
Under-modeled a stated requirement56.8%38.5%50.0%54.8%62.2%52.5%49.0%46.7%
Missed the numeric bar43.2%61.5%42.9%45.2%37.8%47.5%42.9%46.7%
Failed at delivery, not reasoning0.0%0.0%7.1%0.0%0.0%0.0%8.2%6.7%
Systems & SRE7 tasks36 fails38 fails47 fails38 fails42 fails40 fails44 fails46 fails
Misread the problem69.4%76.3%68.1%81.6%64.3%67.5%65.9%65.2%
Under-modeled a stated requirement30.6%23.7%31.9%18.4%35.7%32.5%31.8%30.4%
Failed at delivery, not reasoning0.0%0.0%0.0%0.0%0.0%0.0%2.3%4.3%
Security & Forensics5 tasks10 fails12 fails21 fails30 fails16 fails15 fails36 fails36 fails
Misread the problem100.0%100.0%100.0%100.0%100.0%100.0%97.2%97.2%
Failed at delivery, not reasoning0.0%0.0%0.0%0.0%0.0%0.0%2.8%2.8%