If your code is already working on Claude Opus 5, the main question about Opus 5.5 is what happens after replacing one line with the model name. The short answer: the model became cheaper, but four API changes return a 400 error, and a few more silently change behavior without any errors. Disclaimer: I have not migrated production code to Opus 5.5, so everything below is based on Anthropic's official documentation and technical analyses as of October 20, 2026.
⚡ In short: what has changed in Opus 5.5
- ✅ Cheaper per token: $4 / $20 per million input and output tokens instead of $5 / $25, and cache reads are $0.20 instead of $0.50.
- ✅ Less default reasoning: effort is now
medium instead of high. Along with the lower price, this provides up to 40% savings on typical tasks, according to Anthropic's estimate.
- ⚠️ Thinking cannot be disabled at all: a request with disabled reasoning mode will receive a 400 error.
- ⚠️ Four breaking changes for code on Opus 5 and several "silent" changes that do not produce errors but alter agent behavior.
👉 What this means for you: if you are on Opus 5, the transition will almost certainly save money. But simply replacing the model ID and deploying is a bad idea: first, check the four places in your code from the breaking changes section, and then check the quality of responses for your tasks.
📚 Table of Contents
📊 Opus 5.5 vs Opus 5: main differences in one table
Opus 5.5 was released on September 22, 2026, and became the first model in the Claude 5.5 family. Here's what has changed in the parameters that affect code and billing:
| Parameter |
Opus 5 |
Opus 5.5 |
| Model ID (Claude API) |
claude-opus-5 |
claude-opus-5-5 |
| Model ID (Amazon Bedrock) |
anthropic.claude-opus-5 |
anthropic.claude-opus-5-5 |
| Price: input / output per 1M tokens |
$5 / $25 |
$4 / $20 |
| Cache read per 1M tokens |
$0.50 |
$0.20 |
| Reasoning mode (thinking) |
Adaptive, can be disabled with effort high and below |
Adaptive, cannot be disabled |
| Default effort |
high |
medium |
| Context / max output |
1M / 128K tokens |
1M / 128K tokens (up to 300K via Batch API, beta) |
| Forced tool call |
Supported |
Not supported |
| Model support guaranteed until |
not earlier than July 24, 2027 |
not earlier than September 22, 2027 |
Both models are available in Claude API, Amazon Bedrock, Google Cloud, Microsoft Foundry, and Claude Platform on AWS.
👉 What this means for you: the context and output limits have not changed, so you don't need to rework document chunking, prompt sizes, or RAG logic. Three things have changed: price, reasoning control, and default settings. And since Opus 5 remains active at least until July 2027, you can plan the migration calmly, without rushing.
💰 What it actually costs: prices, cache, batch, and fast mode
Full tariff table per million tokens:
| Tariff |
Opus 5 |
Opus 5.5 |
Change |
| Standard: input / output |
$5 / $25 |
$4 / $20 |
−20% |
| Cache write for 5 minutes |
$6.25 |
$5 |
−20% |
| Cache write for 1 hour |
$10 |
$8 |
−20% |
| Cache read |
$0.50 |
$0.20 |
−60% |
| Batch API: input / output |
$2.50 / $12.50 |
$2 / $10 |
−20% |
| Fast mode: input / output |
$10 / $50 |
$8 / $40 |
−20% |
Three things that are more important than the token price itself:
- Cache has become significantly cheaper. Opus 5.5 counts cache reads as 0.05 of the input price, while all previous Opus versions count them as 0.1. The minimum prompt length that can be cached is 512 tokens.
- Reasoning is billed as output. Each thinking token costs $20 per million, like a regular response. Therefore, effort is the main cost driver:
high adds thousands of reasoning tokens to each complex request.
- Fast mode is more expensive, but faster. It is twice as expensive as standard and provides up to 2.5 times higher generation speed. This is a research preview, so you should clarify availability before relying on it.
Where does the "up to 40% savings" come from if the price has only dropped by 20%? Let's look at a hypothetical request: 20 thousand tokens as input, 15 thousand of which are from the cache, and 3 thousand as output along with reasoning. The cache is already "warmed up," so we don't consider cache writes.
| Component |
Opus 5 |
Opus 5.5 (same output volume) |
Opus 5.5 (23% less output) |
| 5K new input tokens |
$0.0250 |
$0.0200 |
$0.0200 |
| 15K tokens from cache |
$0.0075 |
$0.0030 |
$0.0030 |
| Output |
3K → $0.0750 |
3K → $0.0600 |
2.3K → $0.0460 |
| Total per request |
$0.1075 |
$0.0830 (−23%) |
$0.0690 (−36%) |
| Per 1000 requests |
$107.50 |
$83.00 |
$69.00 |
The last column is not fantasy: based on initial observations, Factory received 20–25% less output tokens than Opus 5 for the same effort. Add to this the lower default effort, and the "up to 40%" from the announcement becomes clear.
👉 What this means for you: applications with long system prompts or RAG contexts that are repeated between requests will save the most: cache reads have become 2.5 times cheaper. And to prevent savings from being eaten away, monitor effort: if high is explicitly set throughout the code, you are paying for reasoning that is not needed for simple tasks.
🔧 4 breaking changes: what will break in the code on Opus 5
These changes will return a 400 error if a request written for Opus 5 is sent to Opus 5.5:
| Change |
Opus 5 |
Opus 5.5 |
What to do |
| Disabling thinking |
thinking.type: "disabled" works |
400 error |
Remove, set reasoning depth via effort |
| Forced tool call |
Supported |
Error |
Remove forced tool_choice |
| Thinking blocks in history |
— |
Tied to model and conversation |
Do not pass blocks from Fable and Mythos |
| Computer use |
computer_20251124 |
Not accepted (Claude API and Google Cloud) |
Switch to computer_toolset_20260801 |
1. Thinking cannot be disabled
In Opus 5, you could disable reasoning at effort high and below. In Opus 5.5, the model reasons always, and a request with thinking.type: "disabled" or with manual mode and budget_tokens will return 400. The only regulator is effort.
Was (Opus 5):
{
"model": "claude-opus-5",
"max_tokens": 4096,
"thinking": { "type": "disabled" },
"messages": [ ... ]
}
Is now (Opus 5.5):
{
"model": "claude-opus-5-5",
"max_tokens": 4096,
"output_config": { "effort": "low" },
"messages": [ ... ]
}
If you disabled thinking for speed and price, the closest equivalent is effort: "low".
2. Forced tool call is not supported
If your code forces the model to call a specific tool via tool_choice, such a request will receive an error on Opus 5.5. A typical example for Opus 5:
"tool_choice": { "type": "tool", "name": "extract_invoice" }
What to do: remove tool_choice and leave the model's choice, and clearly describe in the system prompt when the tool needs to be called. If the call is critical, check the response in the code and repeat the request when the model did not call the tool.
3. Thinking blocks are tied to the model
Opus 5.5 reads thinking blocks created by Opus 5 and earlier Opus, Sonnet, and Haiku, but not blocks from Claude Fable or Mythos. Therefore, a conversation that transitions from Opus 5 to Opus 5.5 preserves the reasoning chain, but the history where Fable responded will have to be cleaned up.
What to do: if in your application the model switches mid-conversation (e.g., complex requests go to Fable, simple ones to Opus), before sending to Opus 5.5, remove thinking blocks from the history created by Fable or Mythos. Leave the text responses.
4. Old computer use tool is not accepted
On Claude API and Google Cloud, computer use now requires the computer_toolset_20260801 set, and the old type computer_20251124 is rejected. The request structure has changed, so it's best to check the "before and after" example against the official migration guide.
👉 What this means for you: the good news is that all four changes break loudly with a 400 error, not with silent degradation. They are visible from the very first test run. The fastest way to find problem areas is to search the code for: disabled, budget_tokens, tool_choice, and computer_20251124.
🤫 Quiet changes: what will change without a single error
These changes are more dangerous than breaking changes: the code works, tests with response status checks pass, and the behavior is already different.
| What changed |
Consequence |
What to check |
Default Effort: high → medium |
Less reasoning: cheaper and faster, but quality may decrease on complex tasks |
Quality on your most complex tasks; explicitly set effort if needed |
| Text between tool calls |
Arrives as thinking-blocks of progress, and with thinking.display: omitted setting — empty |
Agent logs and the interface where work "progress" was displayed |
| Broader safety classifiers |
More frequent rejections on borderline requests |
Rejection logs after the transition |
| Shorter and clearer responses |
Instructions like "write shorter" may become redundant |
System prompts configured for Opus 5 verbosity |
The last change is a response to the most frequent complaint about Opus 5: its responses were too verbose and difficult to read. Anthropic explicitly states that prompts tailored to Opus 5's behavior may no longer be necessary.
👉 What this means for you: these changes will not appear in error logs, so they are only caught by comparing results. Take 20-30 typical requests, run them on both models, and compare the responses manually. If quality has dropped on complex tasks, set effort: "high" specifically for them, not for the entire application: this way you will preserve most of the savings.
✅ Migration checklist: migrate now or wait
| Step |
What to do |
| 1 |
Replace model ID with claude-opus-5-5 (on Bedrock — anthropic.claude-opus-5-5) |
| 2 |
Remove thinking.type: "disabled" and budget_tokens |
| 3 |
Remove forced tool_choice and add tool call verification in code |
| 4 |
Explicitly set effort where you relied on the default high |
| 5 |
Check thinking-block handling: model switching, logs, agent interface |
| 6 |
Update computer use to computer_toolset_20260801 if you use it |
| 7 |
Run typical requests on dev and compare quality before switching production |
If you are using Claude Code, there is a command /claude-api migrate: it replaces the model and parameters throughout the code and provides a checklist for manual verification. Anthropic recommends testing the migration in a dev environment before switching production traffic.
Migrate now if:
- you have a large volume of requests and long cached context — savings will be noticeable in the first month;
- you do not disable thinking and do not use forced
tool_choice — migration will be limited to replacing the model ID and quality verification;
- users complain about Opus 5's verbose responses.
Wait if:
- your product relies on forced tool calls — refactor this logic and test it first;
- you actively use computer use — the new toolset requires separate testing;
- you do not have a set of test requests for quality comparison — collect it first, without it, "quiet" changes will not be visible.
👉 What this means for you: for most applications, migration will take from an hour to a day: replacing the ID, finding four patterns in the code, and comparing quality. Opus 5 will remain available at least until July 2027, so you can redirect part of the traffic, compare bills and quality, and only then switch everything.
❓ Frequently Asked Questions (FAQ)
Can thinking be disabled in Claude Opus 5.5?
No. Adaptive reasoning in Opus 5.5 is always enabled, and a request with disabled thinking returns a 400 error. The depth of reasoning is controlled by the effort parameter: set it to low for the fastest and cheapest responses.
Will code with Opus 5 work after replacing the model ID?
If the code does not disable thinking, does not use forced tool_choice, does not pass thinking-blocks from Fable or Mythos, and does not use old computer use, then yes, it will work. However, due to the lower default effort, quality on complex tasks should be checked separately.
How much cheaper is Opus 5.5 than Opus 5?
Token prices are 20% lower ($4/$20 vs $5/$25), cache reads are 60% cheaper. For typical tasks with default settings, Anthropic estimates savings of up to 40%, as the model also reasons less and writes shorter.
How long will Opus 5 be available?
Opus 5 has active model status with a deprecation date no earlier than July 24, 2027. For Opus 5.5, this date is no earlier than September 22, 2027.
🎯 Conclusions
- Opus 5.5 is primarily about savings: cheaper tokens, 2.5 times cheaper cache reads, and less default reasoning.
- Four breaking changes are easy to find: they break with a 400 error and are searched in the code by four keywords.
- The main risk is quiet changes: lower effort and new display of text between tool calls. They are only caught by comparing responses.
- There's no need to rush: Opus 5 is available at least until July 2027, so migrate gradually, with tests on your tasks.
📎 Sources