Anthropic shipped Claude Opus 4.7 yesterday, and if you're using Claude Code with 4.6, you need to migrate immediately. The retirement clock is already running—Opus 4.6 will likely be retired within a quarter based on Anthropic's recent cadence. Three specific changes will crash your code the moment you flip the model ID.
What Changed — The Breaking Changes

1. Extended Thinking Budgets Are Gone
This is the biggest breaking change. In Opus 4.6, you could specify thinking budgets:
{
"thinking": {
"type": "enabled",
"budget_tokens": 32000
}
}
In Opus 4.7, this returns a 400 error. Only adaptive thinking is supported now:
{
"thinking": {
"type": "adaptive"
},
"output_config": {
"effort": "high"
}
}
Thinking content is also hidden by default. If your workflow shows reasoning to users, add "display": "summarized" to the thinking config.
2. Sampling Parameters Completely Removed
Temperature, top_p, and top_k aren't just deprecated—they're removed. Setting any of these to non-default values returns a 400 error:
# Opus 4.7 (400 ERROR)
response = client.messages.create(
model="claude-opus-4-7",
temperature=0.7, # error
top_p=0.9, # error
messages=[...]
)
The fix: delete these parameters entirely. Use prompting to control style, tone, and verbosity instead.
3. Vision Coordinates Now Map 1:1
If you're building computer use agents or screen reading tools, delete your coordinate scaling logic. Opus 4.6 returned coordinates based on its internal downsampled view, requiring you to multiply by a scale factor. Opus 4.7 returns coordinates that match the input image directly.
What It Means For Your Claude Code Workflow
The New Effort Slot: Use xhigh for Coding
Opus 4.7 introduces a new xhigh effort slot between high and max. Anthropic recommends coding and agentic workloads should start at xhigh instead of high. In testing, xhigh produced the same quality output as max but ran about 20% faster.
Update your default configs:
{
"output_config": {
"effort": "xhigh"
}
}
Vision: 3x Resolution But More Tokens
Vision resolution jumped from 1.15 megapixels to 3.75 megapixels. This means the model can read small UI text that 4.6 missed. However, higher resolution images use more tokens. If 1.15 megapixels was already enough detail, downsample before upload to save costs.
Tokenizer Changed: Add Headroom
The new tokenizer produces 1.0x to 1.35x more tokens on the same text. Code-heavy prompts hit the high end of that range. Two consequences:
- Your existing
max_tokensvalues may now cut off responses earlier - Your compaction triggers (if you use them) will fire more frequently
Add 20-30% headroom to your max_tokens settings.
Try It Now — Migration Checklist

- Update your model ID:
claude-opus-4-6→claude-opus-4-7 - Remove sampling parameters: Delete
temperature,top_p, andtop_kfrom all API calls - Switch to adaptive thinking: Replace extended thinking budgets with adaptive thinking
- Update effort defaults: Change
hightoxhighfor coding tasks - Remove coordinate scaling: Delete any math that maps vision coordinates
- Adjust max_tokens: Add 20-30% headroom to prevent early cutoffs
- Downsample images: If you don't need 3.75 megapixels, downsample to save tokens
Performance Reality Check
Independent testing shows Opus 4.7 is directionally better, not categorically better. On a 28-task Zod benchmark:
- Test pass rate: Identical across 4.6 and 4.7 (12/28)
- Equivalence: 4.7 scored 46.4% vs 39.3% for March 4.6
- Footprint risk: 4.7 had 0.090 vs 0.210 for March 4.6 (lower is better)
- Cost per task: $8.11 for 4.7 vs $8.93 for March 4.6
- Total tokens: 44.0M for 4.7 vs 49.1M for March 4.6
4.7 is a more disciplined coder that produces cleaner patches with lower footprint risk, but it won't magically pass more tests.
The Bottom Line
Migrate today. The three breaking changes will crash your code, and Opus 4.6's retirement is imminent. Update your configs, remove the deprecated parameters, and start using xhigh effort for your coding tasks. The migration is straightforward, but delaying it risks production outages when 4.6 gets retired.









