← all writing
Tech By Jesse Moraga · Jul 25, 2026 · 13 min read
benchmarks — bash — 92×34
// TECHNICALLY SPEAKING
$ curl -s anthropic.com/opus-5-system-card | grep -i "swe-bench verified"
Claude Opus 5 achieved 96.0%
$ curl -s openai.com/why-we-no-longer-evaluate-swe-bench-verified | grep -i "stopped"
"This is why we have stopped reporting SWE-bench Verified scores"
$

Claude Opus 5 Benchmarks: Every Number, Verified Against the Source

Opus 5 shipped July 24, 2026. I pulled the Claude Opus 5 benchmarks out of the actual system cards instead of the blog posts written about them, and found that two of the numbers everybody is quoting are attached to the wrong model.

UPDATED 2026-07-25  ·  all scores re-checked against the source system cards

I run a small service business in California solo, and a system I wrote runs it end to end. Which model I point at that code is not a hobby question for me. So I stopped reading benchmark roundups and started reading system cards. This post is what is actually in them.

CONTENTS
1. The Claude Opus 5 benchmarks, verified
2. The column everybody misreads
3. Both coding benchmarks got retracted this year
4. The theory: Goodhart's Law and what a score measures
5. Why Fable 5's numbers are product scores
6. How I actually test a model
7. My verdict on Opus 5
8. FAQ

The Claude Opus 5 benchmarks, verified

Source: Claude Opus 5 System Card, July 24 2026 — Table 8.1.A and §8.2

Anthropic's announcement page for Opus 5 does not print a single SWE-bench number. It headlines Frontier-Bench v0.1 and shows most results as images. The numbers below come out of the system card PDF itself.

Frontier-Bench v0.1  agentic coding, mean reward over 5 attempts
Opus 5 system card · mini-SWE-agent harness · higher is better
Claude Opus 5 43.3
GPT-5.6 Sol 37.5
Claude Fable 5 33.7
Claude Opus 4.8 18.7
The card's prose reports 44.4% at xhigh effort; the summary table says 43.3. Both are in the same document. That gap is worth remembering for the rest of this post.
ARC-AGI-3  novel problem solving
Opus 5 system card · higher is better
Claude Opus 5 30.2
GPT-5.6 Sol 7.8
Claude Opus 4.8 1.5
This is the number that made me sit up. Opus 4.8 to Opus 5 is 1.5 to 30.2 on the same eval. Twentyfold on a benchmark built specifically to resist memorization.

Every Claude 5 model, side by side

Each score below is quoted from the system card of the model it belongs to. Read the source column before you compare any two rows.

BENCHMARK OPUS 5 FABLE 5 SONNET 5 OPUS 4.8 CARD
SWE-bench Verified 96.0 95 85.2 88.6 each model's own, §8.2 prose
SWE-bench Pro 79.2 80 63.2 69.2 Opus 5 card, Table 8.1.A
Frontier-Bench v0.1 43.3 33.7 n/r 18.7 Opus 5 card
ARC-AGI-3 30.2 n/r n/r 1.5 Opus 5 card
Terminal-Bench 2.1 dropped 84.3 80.4 82.7 Fable + Sonnet cards
Price / M tokens $5 / $25 $10 / $50 $3 / $15 $5 / $25 models overview
Released Jul 24 '26 Jun 9 '26 Jun 30 '26 Anthropic

"n/r" means not reported in that model's card. Sonnet 5's introductory price of $2 / $10 runs through August 31, 2026. Opus 5, Fable 5 and Sonnet 5 all carry a 1M-token context window and 128k max output.

The column everybody misreads

Here is where most of the wrong numbers on the internet come from, and it is almost funny once you see it.

In the Fable 5 system card, the summary table's first score column is not Fable 5. It is Mythos 5, the limited-release sibling that ships without the safety classifiers. Fable 5 is the second column. If you skim that table left to right the way you read everything else, you hand Fable a set of scores that belong to a different model.

— what the roundups print
Fable 5  ·  SWE-bench Pro  80.3
Fable 5  ·  SWE-bench Verified  95.5
+ what the card actually says
"Claude Mythos 5 achieved 80.3% and Claude Fable 5 achieved 80%."
"Mythos 5 achieved 95.5% and Fable 5 achieved 95%."

Two Anthropic cards independently agree on 80 for Fable, because the Opus 5 card lists Fable's SWE-bench Pro in its own table too. The 80.3 floating around belongs to Mythos.

It gets worse on the other side of the fence. One widely-linked review publishes "SWE-Bench Verified 88.7%" for GPT-5.5 and cites OpenAI's launch announcement as the source. That announcement contains no SWE-bench Verified score at all. I checked the whole page. OpenAI reported GPT-5.5 at 58.6% on the public split of SWE-Bench Pro, with a footnote warning about memorization, and nothing else. The 88.7 was invented and given a real citation, which is worse than no citation.

Both coding benchmarks got retracted this year

This is the part nobody put in a headline, and it changes how you should read every table above.

TIMELINE
FEB 23, 2026
OpenAI publishes "Why SWE-bench Verified no longer measures frontier coding capabilities." Verbatim: "This is why we have stopped reporting SWE-bench Verified scores, and we recommend that other model developers do so too." They found 59.4% or more of audited failed problems had flawed tests.
APR 23, 2026
GPT-5.5 ships reporting 58.6% on SWE-Bench Pro, already footnoted with a memorization warning.
JUL 8, 2026
OpenAI audits SWE-Bench Pro's 731-task public split. Verbatim: "we find widespread task issues in SWE-Bench Pro and estimate that ~30% of the tasks are broken." Their agent pipeline flagged 200 tasks, five human engineers per task flagged 249. Then: "we retract our earlier recommendation to adopt SWE-Bench Pro."
JUL 24, 2026
Opus 5 ships. Anthropic's headline coding benchmark is now Frontier-Bench v0.1, built by the Terminal-Bench team, 74 tasks spanning coding, finance, music, biology and hardware design.

Read that again. Inside five months, the two coding benchmarks the entire industry quoted at each other were both publicly disowned by one of the labs that quoted them. Not by critics. By OpenAI, about evals OpenAI itself had recommended.

The flaws were not cheating. They were spec defects: tests that enforce implementation details the prompt never asked for, so a functionally correct fix fails. Underspecified prompts. Low-coverage tests. Misleading task descriptions. In other words, a model could be right and score wrong.

The theory: what a benchmark score actually measures

The transferable idea here is older than any of these models, and once you have it you cannot read a leaderboard the same way.

THE PRINCIPLE

A benchmark score is a measurement of a model and a harness and a scoring rule, together. Change any one of the three and the number is no longer comparable, even for the same model on the same day.

Why it's true. This is Goodhart's Law with a compiler attached. Goodhart's formulation is that when a measure becomes a target, it stops being a good measure. The mechanism is that everyone optimizes the proxy rather than the thing the proxy was standing in for. Labs tune scaffolds, retry counts, effort settings and prompt formats against the eval, and the score climbs while the underlying capability moves less than the graph suggests. Meanwhile the eval itself ages: its tests were written against a snapshot of reality, and the parts of the task the test forgot to specify quietly become the parts models get punished for guessing.

Measurement people call the missing piece construct validity. The construct you care about is "can this thing fix my code." The measure is "did the repo's existing test suite go green." Those overlap. They are not the same thing, and the July audit is exactly what the gap looks like when someone finally checks: roughly a third of the tasks could not have measured the construct no matter which model ran them.

Here is the proof inside Anthropic's own documents. GDPval-AA is an Elo score, run externally by Artificial Analysis. Watch what happens across three cards released seven weeks apart:

MODEL IN FABLE'S CARD IN OPUS 5'S CARD DELTA
Claude Fable 5 1932 1747 −185
Claude Opus 4.8 1890 1593 −297

Same models. Same publisher. Same externally-run leaderboard. Nearly 300 Elo points of difference, because they are different snapshots and different versions of the eval. Neither number is a lie. They are simply not comparable, and any table that stacks them in one column is fiction assembled out of true parts.

How you apply it. Three rules I now use before quoting any score. One: find the harness. If two numbers came from different scaffolds, they are two different experiments. GPT-5.5's 83.4 on Terminal-Bench was run on the Codex harness, Claude's on mini-SWE-agent, and putting them in adjacent cells implies a comparison that was never performed. Two: find the trial count. Opus 5's 96.0 is a mean over five trials; a single-run number next to it is a different kind of object. Three: read the footnotes before the table, because that is where the fallbacks, the effort settings and the memorization warnings live.

Why Fable 5's numbers are product scores, not model scores

I have been honest that Fable 5 never fully convinced me, and reading its card finally explained the feeling.

Fable ships with safety classifiers that can decline a request outright. When that happens mid-benchmark, the run falls back to Opus 4.8 for the rest of the trajectory. On Terminal-Bench 2.1, the card states that 20.9% of Fable's trials hit a safety refusal and finished on Opus 4.8. Fable's published 84.3 is therefore roughly four-fifths Fable and one-fifth the previous Opus.

Anthropic says so plainly in the card's own table note: Fable's scores reflect its production safeguards, including the fallback, which is why some benchmarks come in slightly lower for Fable than for Mythos. That is a fair and unusually transparent disclosure. It also means Fable's numbers describe a product, and Mythos's describe the model underneath it.

Which matches what it feels like to work with. Fable has the wider band. It reaches further on the problems it takes, and then some fraction of the time it simply declines and something else finishes the job. That inconsistency is the thing my gut was reacting to before I had a number for it.

How I actually test a model

So I stopped outsourcing the question. I keep a set of my own scripts where I already know the exact bug count, because I put the bugs there. Then I hand the whole thing over cold and watch.

Catching them is the easy half. Every frontier model finds most seeded bugs now, and a pass rate on its own tells me almost nothing. What I grade is how it fixes them, on three things:

01 — BAND-AID OR SURGICAL
Did it wrap the symptom in a try/except and move on, or did it go find why the value was wrong in the first place? A patch that makes the error stop appearing is not a fix. It is a louder silence.
02 — PROPORTIONALITY
Is the size of the diff proportionate to the code it is attaching itself to? A one-line bug that comes back as a 200-line refactor is a model showing off, and it costs me the review. A structural bug that comes back as one line is a model that did not understand it.
03 — DOES IT FIT WHAT'S AROUND IT
Does the fix match the conventions already in that file, or did it import a new pattern for one function? Code that reads like the code around it is code I can still maintain in six months.

That is a rubric, not a leaderboard, and it is deliberately unfair to whichever model I happen to be testing, because my scripts are not in anyone's training data and the bugs are the kind I actually write. Which is the whole point. The construct I care about is "can this thing fix my code," so I measure that directly instead of trusting a proxy someone else validated against someone else's repos.

You can build the same thing in an afternoon. Take three files you know cold. Break them in ways you have genuinely broken things before, write down the count, and keep the file somewhere the model cannot see until you hand it over. Run every new release against it. Grade the diffs, not the pass rate. Inside two releases you will trust your own set more than any table on the internet, including the one further up this page.

My verdict on Opus 5

I am still early in my own runs, so take this as a first read rather than a final grade.

This is the first model since the last Sonnet that I believe is a real upgrade rather than a repackaging. Everything between them felt like the same capability with different padding. Opus 5 does not. The fixes come back smaller and more targeted, and it argues with me less about things it turned out to be wrong about.

The benchmark that backs the feeling is ARC-AGI-3, because it is the one built to resist memorization. 1.5 to 30.2 from Opus 4.8 is not a scaffold improvement. Something underneath moved. Frontier-Bench points the same way, and it is a brand new eval, which means nobody has had time to overfit to it yet. That is a genuinely useful property for about six more months.

And it has made Fable easy to forget, which I did not expect to write. Fable still has the wider reach on paper. But at half the input price, without the refusal fallback in the middle of a long run, Opus 5 is the one I keep pointing at my own code.

Ask me again in three weeks when my bug set has more data. That is the only number here I will fully vouch for, because it is the only one I ran myself.

FAQ

What is Claude Opus 5's SWE-bench Verified score?
96.0%, averaged over five trials, reported in section 8.2 of the Opus 5 system card. It is not in the card's summary table and not in the announcement page at all, which is why most roundups miss it or invent one.
Is Opus 5 better than Fable 5?
On Frontier-Bench v0.1, yes, 43.3 against 33.7. On SWE-bench Pro they are within a point, 79.2 against 80. Opus 5 is half the input price and has no safety-classifier fallback, so for sustained agentic coding it is the better buy right now.
Why did Anthropic switch to Frontier-Bench?
Frontier-Bench v0.1 comes from the Terminal-Bench team and covers 74 tasks across coding, finance, music, biology and hardware design. Given that OpenAI publicly retired SWE-bench Verified in February 2026 and retracted its recommendation of SWE-bench Pro in July, moving to a newer eval is the reasonable call.
Is SWE-bench still worth reading?
As a rough floor, yes. As a ranking between two models from different cards, no. About 30% of SWE-Bench Pro's public tasks are broken by OpenAI's own audit, and the failure mode punishes correct fixes, so small gaps between models are inside the noise.
What does Claude Opus 5 cost?
$5 per million input tokens and $25 per million output, unchanged from Opus 4.8. There is a Fast mode at twice the price running about 2.5 times the default speed. Context window is 1M tokens with 128k max output.

Sources

Anthropic — Claude Opus 5 announcement
Anthropic — Claude Fable 5 & Mythos 5 system card
Anthropic — models overview (pricing, context windows, model IDs)
Frontier-Bench v0.1 announcement
OpenAI — Why SWE-bench Verified no longer measures frontier coding capabilities
OpenAI — Separating signal from noise in coding evaluations
Goodhart's Law

MORE READING
I almost gave up on Fable 5, then I told it to build me a dev team
How to build an AI agent that audits your own code
Business automation for solo operators: stop state drift
All posts
$ whoami
Jesse Moraga — software developer who operates what he builds.
A real California company runs end to end on a system I wrote. One operator.
$ links
jesse@jessemoraga.com
$
growth-as-a-service

I build with AI so small businesses can take on the giants. Let me build yours.

Visit Art3ry → art3ry.com