Claude Opus 5.5: Fable-level work at Opus prices, and four breaking changes to check first
In brief
Claude Opus 5.5 shipped on September 22, 2026. It costs $4/$20 per million tokens, cache reads drop 60% to $0.20, and Anthropic says it performs at the level of Fable 5.1 on most work. It also defaults to medium effort, cannot turn thinking off, and rejects forced tool use. Here is who should switch, what breaks, and how to test it on your own tasks.
Contents
Anthropic released Claude Opus 5.5 on September 22, 2026. It is the first model in the 5.5 family, it is available everywhere Claude is sold on the day of launch, and it is now the default Opus model in Claude Code (v2.1.280).
The short version: Opus 5.5 is cheaper than Opus 5, faster than Opus 5, and close to Claude Fable 5.1 on most benchmarks. Anthropic's own headline is that it performs at Fable 5.1's level on most work while costing 40% less to run than Opus 5 on a typical task.
The catch is on the API side. Four request shapes that work on Opus 5 now return a 400 error. If you build on the API, read the breaking changes section before you change the model ID.
What it costs
| Price per million tokens | Opus 5.5 | Opus 5 | Change |
|---|---|---|---|
| Input | $4 | $5 | −20% |
| Output | $20 | $25 | −20% |
| Cache reads | $0.20 | $0.50 | −60% |
| 5-minute cache writes | $5 | $6.25 | −20% |
| 1-hour cache writes | $8 | — | — |
| Batch (input / output) | $2 / $10 | — | half price |
Fast mode, a research preview on the Claude API only, runs about 2.5 times faster at $8/$40.
The cache-read cut matters more than the headline price. An agent that rereads a long conversation every turn spends most of its input budget on cached tokens. Anthropic's task cost breakdown works an example: 2.8 million input tokens cost $11.20 uncached and $1.62 at a 90% cache hit rate. If your caching is off or broken, fix that before you compare models. Prompt caching explains the mechanics.
On subscription plans (Pro, Max, Team, and seat-based Enterprise), Anthropic raised rate limits with this release. Usage runs roughly 25% further per limit window than on Opus 5.
What got better
Anthropic's published numbers, against Fable 5.1, Opus 5, and OpenAI's GPT-6 Astra:
| Benchmark | Opus 5.5 | Fable 5.1 | Opus 5 | GPT-6 Astra |
|---|---|---|---|---|
| Terminal-Bench 4.0 (agentic coding) | 66.4% | 55.8% | 52.3% | 57.9% |
| FrontierCode v1.1 | 54.4% | 50.3% | 48.0% | 53.3% |
| OSWorld 2.0 (computer use) | 81.8% | 80.7% | 74.0% | — |
| GDPval-AA v2.1 (knowledge work, Elo) | 1846 | 1735 | 1708 | 1542 |
| Humanity's Last Exam | 67.7% | 65.6% | 63.6% | 57.2% |
Treat vendor benchmarks as a reason to test, not a result. The more useful signal in the launch is where early customers said the savings came from: fewer steps. GitHub reported Opus 5.5 solved more terminal tasks than Opus 5 in less than half the steps. Optiver said it matched Opus 5 quality in half the turns. Deloitte said the low-effort setting caught 72% of seeded code review bugs, against 56% for Opus 5 at high effort.
Fewer turns is where the 40% figure comes from. Every turn resends the conversation, so a task that finishes in 25 turns instead of 40 costs less even before the price cut.
Other changes you will notice without touching code:
- Output is over 30% faster than Opus 5.
- Charts, diagrams, and screenshots are read more precisely. Vision workarounds you added for earlier models may no longer be needed.
- Writing is shorter and leads with the important part. If you had prompts asking for concision, you may be able to delete them.
Which model to use now
Anthropic's own guidance in the cost post, which matches what we would tell a team:
| Work | Model |
|---|---|
| Day-to-day supervised work: features, debugging, code review, drafting | Opus 5.5 |
| Long unattended runs and the hardest problems | Fable 5.1 ($10 input) |
| Lookup subagents: searching, summarizing, reading logs | Sonnet or Haiku |
The last row matters. Subagents inherit the main model unless you set them otherwise, so an Opus session that spawns ten file-search agents pays Opus prices for work a smaller model handles fine. See which Claude model your team should use for the longer version.
Breaking changes on the API
If you call the API directly, four things that work on Opus 5 fail on Opus 5.5. The first three also apply on Fable 5.1, so if you already migrated to Fable 5.1 you have done most of this.
1. Thinking cannot be turned off
Thinking is always on. Sending thinking: {"type": "disabled"} or a manual budget ({"type": "enabled", "budget_tokens": N}) returns a 400. Remove the field. Control depth and cost with effort instead:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-5-5",
max_tokens=16000,
output_config={"effort": "low"}, # where you used to disable thinking
messages=[{"role": "user", "content": "Rename getUser to fetchUser across these files: ..."}],
)
# Responses can start with thinking blocks. Select by type, not position.
text = "".join(b.text for b in response.content if b.type == "text")
2. Forced tool use is gone
tool_choice of {"type": "any"} or {"type": "tool", "name": ...} returns a 400. auto and none still work. If you forced a tool to get structured JSON back, keep auto and set strict: true on the tool, or move to structured outputs. If you forced a tool to make Claude act, say in the prompt when the tool applies.
tools = [{
"name": "record_invoice",
"description": "Record the invoice fields. Always call this once per invoice.",
"strict": True,
"input_schema": {
"type": "object",
"properties": {
"vendor": {"type": "string"},
"total": {"type": "number"},
},
"required": ["vendor", "total"],
"additionalProperties": False,
},
}]
response = client.messages.create(
model="claude-opus-5-5",
max_tokens=4000,
tools=tools,
tool_choice={"type": "auto"},
messages=[{"role": "user", "content": "Extract the invoice: ..."}],
)
3. Thinking blocks are tied to the model and the conversation
Each thinking block records which model wrote it. Opus 5.5 reads blocks from Opus 5 and earlier Opus, Sonnet, and Haiku models, but not from Fable or Mythos. Fable 5.1 and Mythos 5.1 can read Opus 5.5's blocks. If you route a conversation between models mid-stream, some switches now drop the earlier reasoning silently. The request succeeds; quality can dip.
On accounts created on or after August 31, 2026, the API also rejects a replayed thinking block if anything before it (the system prompt, the tools, or an earlier message) changed. The fix is to keep conversations append-only: add instructions with a mid-conversation system message instead of editing system, and change tools the same way. Defining tools mid-conversation covers the new way to do the second part, and compaction on demand covers trimming without breaking the chain.
4. The old computer use tool is rejected on the Claude API and Google Cloud
computer_20251124 returns a 400 there. Move to {"type": "computer_toolset_20260801"} and update your loop for toolset-shaped tool calls. On Amazon Bedrock the old tool still works. Computer use and browser use covers the toolset.
The quiet change: progress text moved
This one fails nothing. The short notes Opus 5.5 writes between tool calls ("Checking the test file next") now come back as thinking blocks, which are empty at the default display setting. If your product streams those notes to users as progress updates, it will go silent between tool calls. Set thinking.display to a value that returns the text; the migration guide has the exact setting.
Default effort is now medium
A request with no effort set runs at medium on Opus 5.5. On Opus 5 it ran at high. At the same effort level, Opus 5.5 also tends to think more per turn, especially at xhigh and max.
Two consequences. If you never set effort, your costs and latency will change on the switch; measure them. If you did set effort on Opus 5, do not carry the number over. Anthropic's guidance: low for mechanical work like renames, medium for well-scoped daily work, high when medium stalls. High adds roughly $0.40 on a typical coding task, which pays for itself if it saves one retry. Effort calibration has a method for running the sweep.
Safety changes that affect what gets refused
Opus 5.5 ships with safeguards comparable to Fable 5.1's. It runs a biology classifier as well as the cybersecurity one. Refused requests return HTTP 200 with stop_reason: "refusal" and a stop_details object naming the category. Handle that case and configure a fallback; server-side fallback (fallbacks: "default", beta) retries on the model Anthropic recommends for the category.
Requests that try to get the model to print its internal reasoning into the response can be declined under a new reasoning_extraction category. It is one of the anti-distillation safeguards Anthropic shipped with this model.
Research teams blocked on biology can apply through the Life Sciences Verification Program.
How to evaluate the switch in one afternoon
- Pick five real tasks your team did last week, with known good outcomes.
- Run each on Opus 5 and Opus 5.5 at the effort you actually use. In Claude Code, run
/usageafter each to read the real cost. - Compare turns, cost, and whether the result was right. Ignore the benchmark table; your numbers are the ones that apply to you.
- For API code, search your codebase for
"disabled",tool_choice, andcomputer_20251124before changing the model ID. Those are the three strings that turn into 400s. - If you route between models, turn on the
thinking-binding-controls-2026-08-01beta header and loginput_transformations, so dropped reasoning shows up in your logs instead of as unexplained quality loss.
Opus 5 remains available. Nothing forces the switch today, but a model this much cheaper for the same work usually becomes the default for new projects within weeks. Plan for the day an older model is retired by keeping the model ID in one config value, not scattered through your code.