Opus 5.5: Fable's Level at 40% of the Price
Anthropic shipped Opus 5.5 on September 22: by its own numbers, Fable 5.1's level on most work, at $4/$20 per million tokens against Fable's $10/$50, with medium as the new default effort. What the release measures, where the catch is, and how my Claude seat left Fable the same afternoon.
What shipped. Anthropic released Claude Opus 5.5 on September 22, 2026, the first model of a new 5.5 family. Its own summary: it "performs at the level of Claude Fable 5.1 on most work and costs 40% less to run than Opus 5." Sonnet 5.5 and Haiku 5.5 follow "in the coming weeks".
The price. $4 input and $20 output per million tokens, $0.20 for cache reads. Fable 5.1 costs $10, $50 and $0.25. On input and output that is 40% of Fable's rate.
The quality claim. In Anthropic's launch table, Opus 5.5 at max effort (xhigh on Terminal-Bench) has a higher number than Fable 5.1 on all nine rows. Anthropic also writes that the real-world gap is "narrower than these scores suggest". Read it as parity at a much lower price, not a new ceiling.
The catch. Opus 5.5 starts at
medium effort and ignores a top-level effortLevel in user settings. CLAUDE_CODE_EFFORT_LEVEL or --effort sets it, and only the variable persists max. Thinking can no longer be switched off, and forced tool calls return an error.What I did. The Claude seat of my three-agent desk moved from Fable 5.1 at max to Opus 5.5 at max the same afternoon: policy, settings, the second-opinion runner, the drift check, loop templates, invariants and tests across three repositories, plus one live headless batch refreshed at a ticket boundary.
What I did not prove. Any change in quality or cost on my own work. Every benchmark below comes from Anthropic's announcement. Every dollar figure is a list price or arithmetic.
What Anthropic shipped
Opus 5.5 went out on September 22, 2026 as claude-opus-5-5 on the Claude API, and the same day on Amazon Bedrock, Google Cloud, Microsoft Foundry and Claude Platform on AWS. It keeps Opus 5's 1M-token context window and 128K maximum output, with a June 2026 knowledge cutoff. Adaptive thinking is always on. In Claude Code it is now the default model on Pro, Max, Team, Enterprise and the Anthropic API, and the opus alias resolves to it.
The announcement makes four claims worth keeping apart. Quality: "It performs at the level of Claude Fable 5.1 on most work." Cost: "at default settings it will cost 40% less than Opus 5 on typical workloads", from a 20% cut on input and output tokens, a 60% cut on cache reads and fewer tokens per task. Speed: output "more than 30% faster than Opus 5". Writing: it "puts the most important information up front" and is "less likely to use jargon", which Anthropic says addresses common feedback about Opus 5.
It is also, in Anthropic's words, "our first release since we called for pacing the frontier". Frontier Design and METR evaluated it before release. I wrote about that call in Pace the Frontier.
Claude subscribers get two more things: higher five-hour usage limits on Pro, Max, Team and seat-based Enterprise plans, and a rate-limit reset "which you can now save and use whenever you choose". Zero data retention is available, as with previous Opus models and unlike Fable 5.1.
You had a very good helper who charges a lot per word. Its maker says the new helper is about as good and charges well under half as much, so you switch. The catch: the new one arrives set to "try medium hard", and it ignores the old note that said how hard to try. That instruction now has to live somewhere else. I run three helpers from one rulebook, and the rulebook names the exact model each one uses, so switching meant changing that name everywhere it is copied and proving nothing else drifted.
The price, next to Fable
Cache reads deserve a second look. Anthropic says they "make up the majority of agentic and coding work costs", and the 60% cut it quotes is against Opus 5. Against Fable 5.1 the price only moves from $0.25 to $0.20, because Opus 5.5 charges 5% of its input price for a cache read and Fable charges 2.5%. That row is also where Fable 5.1 used to beat Opus 5, which kept the math close in Fable 5.1 Is In Your Max Plan. It Is Not Free. The big gap to Fable is in input and output; on a workload where cache reads dominate the bill, the saving against Fable shrinks toward 20%.
Here is the same illustrative session from that article: 2M ordinary input tokens, 400K output tokens and 40M cache reads, with cache writes left out. This is my arithmetic, not a measurement.
At equal volumes Opus 5.5 comes in 52% below Fable 5.1 and 40% below Opus 5 on this mix. It could use about 2.1 times Fable's tokens in every category before the two bills matched. Leaving out cache writes does not flatter Opus 5.5 against Fable, because its write prices are lower too.
My 40% below Opus 5 and Anthropic's 40% happen to match, but they are different claims. Mine is price alone at equal volume, on a mix heavy on cache-read tokens. Anthropic's combines price with fewer tokens per task, at medium. And equal volume is the weak assumption: the migration guide says that at a given level Opus 5.5 "tends to think more per turn than Claude Opus 5, especially at xhigh and max", while the announcement says it uses fewer tokens per task. Both can hold if tasks take fewer turns. For my sessions, at max and against Fable, I don't know yet.
None of this converts to subscription usage; Anthropic publishes no weighting per model. The plan documentation is specific about Fable on Max, though: "You can use up to 50% of your weekly usage limits on Fable models at no extra cost", and Fable models "use them faster than other Claude models". Opus 5.5 is not a Fable model, so that ceiling no longer applies to my Claude seat. The regular weekly and five-hour limits still do. Past them, usage credits bill at API rates, and there the per-token table is the whole story.
The quality claim, with the effort named
The footnote matters: "Unless otherwise noted, all Claude Opus 5.5 results use adaptive thinking at max effort." Terminal-Bench is the exception, at xhigh. Max is exactly how my harness runs it, which makes this table more relevant to me than most launch tables.
Three readings. First, Opus 5.5 has the higher number on all nine rows, but I read two as ties: OSWorld by 1.1 points and Chartography by 0.6. Terminal-Bench's lead of 10.6 points is well outside its stated standard error of Β±2.6 points for Opus 5.5. Outside the Claude family, GPT-6 Astra still leads two rows in the same table: AutomationBench (41.4%) and Terminal-Bench-Science (64.6%).
Second, the vendor tempers its own table: "benchmark margins have become a less reliable guide to real-world differences. In our own use, the gap between Opus 5.5 and Claude Fable 5.1 is narrower than these scores suggest."
Third, the rows were run with production safeguards on: "When they intervened, cybersecurity tasks were completed by Claude Opus 4.8, and biology and frontier LLM development tasks were completed by Claude Opus 5." Where that happened, the Opus 5.5 column holds another model's work, and the announcement does not say how often. AutomationBench is the exception: Zapier ran it without fallback models and counted interventions as failures.
The comparisons that bear most directly on the switch sit outside the table. On CursorBench, "at default effort (medium), Opus 5.5 scores 52.5%, compared to 51.8% for Fable 5.1 (max)". In an internal test both models translated HAProxy from C into Rust: "Both rewrites passed nearly all of HAProxy's own regression tests, but Opus 5.5 finished in 9.5 hours compared to 12 for Fable 5.1, and cost 51% less." In a research-report test graded for invented figures and quotes, "16 out of 18 of Opus 5.5's reports cleared our quality bar ... Neither Fable 5.1 nor Opus 5 cleared that bar in any attempt." These are single tests run by the vendor. They support parity; they are too thin for anything stronger.
The partner quotes in the announcement mostly measure against Opus 5, not Fable. Optiver reports Opus 5 quality "in about half the turns, time and output tokens". Factory calls Opus 5.5 "the first model we'd default to at medium effort". Both are published by the vendor, not independent.
What changes if you call it directly
For API code, Opus 5.5 is not a rename of Opus 5. The migration guide lists these changes.
On your own agent loop, check forced tool_choice first, because it breaks any loop that forces a tool call. Then check the empty thinking blocks, which change what a log parser sees. Handle stop_reason: "refusal" too: bio and reasoning_extraction are new refusal categories.
Opus 5.5 is "the first Opus model to launch with a similar class of safeguards to Fable 5.1 on cybersecurity, biology, and distillation", all of which "fall back to another model transparently". Routine bug fixing is allowed, but "most cybersecurity tasks will be re-routed to Opus 4.8". So the model that answers can differ from the one you asked for. I have not yet seen what identity a rerouted turn reports.
The remaining safety numbers are Anthropic's: the best scores to date on its automated behavioral audit; about 85% fewer attempts to circumvent containment boundaries than Opus 5 or Mythos 5.1, "every attempt it made was low severity and self-reported"; and a tie with Fable 5.1 for the lowest prompt-injection success rate on Gray Swan's benchmark. The caveat is theirs too: "We see signs that Opus 5.5 often suspects it is being evaluated."
The effort trap
Opus 5.5 defaults to medium; Fable 5.1 defaults to high. Claude Code's model configuration docs say Opus 5.5 "starts at medium unless one of the sources above sets a level for it, and a top-level effortLevel in your user settings file doesn't count for Opus 5.5". The explicit controls are the CLAUDE_CODE_EFFORT_LEVEL environment variable and --effort, and max persists only through the variable.
So a harness that switched to the new model by changing one string can run it at medium:
- If it set nothing before, that is one level below Fable's default.
- If it relied on the
effortLevelkey, the key no longer counts, so whatever it said is gone.
The model name in the logs is correct either way. Anthropic's own numbers show what the gap costs: on CursorBench, Opus 5.5 scores 52.5% at medium in the announcement text and 57.8% at max in the table.
My harness pins max through CLAUDE_CODE_EFFORT_LEVEL and passes --effort max on every launcher it owns, so nothing changed there. The check I trust is the running process, not the settings file: read the model and effort from a real headless call.
The switch
My desk is the one from I Love Trios: Claude Code, Codex and Grok Build under one policy file, each on its vendor's strongest model at maximum reasoning. Until today the Claude seat ran Fable 5.1 at max, pinned on September 5 in Astra Γ Fable. Seventeen days later a cheaper model is at the same level by the vendor's own measure. The pin moves.
The first signal came before I edited any pins. After the /model picker saved Opus 5.5 as my default, the session-start drift check reported "Claude global model preference drift": the pinned model key was gone from the settings file. The file had also stopped being the symlink my dotfiles install; at some point it became a regular file holding local terminal-status hooks. So the edit went into the live file in place, and the tracked copy was updated separately.
Then the probe. On Claude Code 2.1.280, one headless call with --model 'claude-opus-5-5[1m]' --effort max reported claude-opus-5-5[1m] at init and claude-opus-5-5 on the assistant messages. That is one model with two strings, and an identity check has to know both. After the switch, a plain headless call with no flags ran claude-opus-5-5[1m], and its environment reported the forced subagent model and effort max. The settings excerpt that carries all three:
{
"model": "claude-opus-5-5[1m]",
"fallbackModel": [],
"env": {
"CLAUDE_CODE_EFFORT_LEVEL": "max",
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-opus-5-5[1m]",
"CLAUDE_CODE_SUBAGENT_MODEL_FORCE": "1"
}
}Then the pins, in order. The policy line and the Claude adapter, regenerated into the global instructions all three agents read. The tracked settings baseline and the shell exports. The second-opinion runner: the Claude reviewer is now Opus 5.5 at max, and its validator accepts only Opus 5.5 identities, so an answer from Fable is rejected as a model mismatch instead of being counted as a review. The global drift check. The manifest invariants, where the Fable literal is now forbidden in the settings file. Docs. Tests: 313 passed. Two captured stream fixtures from older CLI versions stayed byte-identical as evidence, and their loaders rebase the model identity instead. Last, the decision graph's Claude claim and its source hashes.
Then the other two repositories. A private repo that runs headless loops carries the model in its loop template, a per-batch override list, runtime notes and command docs. Its default is now Opus 5.5, Fable 5.1 is the one explicit alternative, and a leftover Opus 5 override now stops a batch instead of running a model nobody chose. The relevant suites pass; two unrelated suites fail the same way on a clean checkout of main, so those failures predate this change. The second personal repo got its default paragraph, the loop driver pin, docs, invariants and 62 passing tests.
Ten commits across three repositories.
One live headless batch was running on its startup snapshot, and it was not restarted mid-ticket. Its owning session stopped it at the next ticket boundary, refreshed the loop from the new template, removed the old per-batch override and relaunched. The next worker started on claude-opus-5-5[1m] at max. Editing a template does nothing to a controller that has already loaded it.
The first real use came the same afternoon. This article's independent draft pass tried the other two providers first, found both unavailable, and fell back to a fresh Claude reviewer. Its receipt names claude-opus-5-5[1m] at max, and the observed model was claude-opus-5-5.
Hot takes
- Read the effort before the number. The cost headline is at
medium; the table is at max, Terminal-Bench aside. Pin effort where every model reads it, or a model release will quietly change it. - Pickers write config. Picking a model rewrote a settings file I believed was tracked. Tracking can break silently, so run the drift check at session start, before the first edit.
- A stale model override should stop the loop, not run. A stopped batch is easier to explain than one quietly running a model the policy no longer names.
- Strict identity checks will meet rerouting. If a cybersecurity turn is rerouted to Opus 4.8 and reports that identity, a validator that accepts only Opus 5.5 will flag it. I would rather see the flag.
- Fable's premium was the price of the strongest model on the desk. Parity at 40% of the input and output rate ends that argument for most work.
What this does not show
- Quality on my work. Not measured. The switch rests on Anthropic's evidence.
- Cost on my work. $24 against $50 is arithmetic at equal volume on one example mix. At max, volume can move either way.
- Plan allowance. API prices do not convert into subscription usage, and Anthropic publishes no weighting.
- Independence. The table, the in-house tests and the partner quotes all come from Anthropic's announcement; Zapier ran AutomationBench.
- Who did the work. Where safeguards intervened, Opus 4.8 or Opus 5 did work credited to Opus 5.5.
- The right effort. I kept max. I have not compared it with
mediumorxhighon my own tasks. - Behavior. The probes and tests show which model and effort run, and that the tooling agrees with itself. They say nothing about the output.