Migrating: Opus 4.6 to Opus 5
Claude Opus 5 has itself been superseded by Claude Opus 5.5. If you are migrating now, check whether you can go straight there.
What changes
| From | To | |
|---|---|---|
| Model | Opus 4.6 | Opus 5 |
| Input / MTok | $5 | $5 |
| Output / MTok | $25 | $25 |
| Cache read / MTok | $0.50 | $0.50 |
| Min cacheable prefix | 4,096 | 512 |
| Context window | 1M | 1M |
| Effort levels | low, medium, high, max | low, medium, high, xhigh, max |
| Effort default | high | high |
| Thinking | Off unless requested (adaptive) | On by default — can be disabled |
| Forced tool_choice | accepted | accepted |
The widest single-generation gap in the current lineup
This migration spans more actual behavioural change than a typical adjacent-generation move, because it crosses the same boundary where the older sampling controls and thinking-budget mechanism were dropped entirely — code untouched since it was written against this generation will fail immediately on the newer one, not degrade gracefully.
What to check before moving real traffic
Beyond the hard-breaking fields, thinking flips from opt-in to on-by-default, and cannot be disabled at all above the mid-to-high effort range — a real behavioural shift for any workload using higher effort settings. The cache minimum also moves substantially in your favour here, which is worth verifying directly rather than assuming: prompts too short to cache on the older generation may cache cleanly on the newer one with no code change.
Don't migrate this one without a test pass
Because three independent changes land at once — hard-breaking fields, a flipped thinking default, and a new effort tier — this is not a migration to cut over on a Friday afternoon with no verification plan. Budget real testing time against your actual hardest tasks, not just a smoke-test against typical traffic, before moving production volume across this specific boundary. Treat the fields that error outright as the easy part of the work — they fail loudly in testing and get fixed quickly. The thinking-default and cache-minimum changes are the ones that need deliberate verification, since neither produces an error on its own.
Related
See what actually changed from Opus 4.6 to Opus 5 for the narrative version of this migration, and budget_tokens is not supported on Opus 4.7 and later for the error this migration most commonly triggers first.
Verified 2026-09-30 against claude-api skill — shared/models.md, model-migration.md + SKILL.md model table and Anthropic's pricing and model-deprecation pages (canonical: https://platform.claude.com/docs/en/about-claude/models/overview, https://platform.claude.com/docs/en/about-claude/pricing, https://platform.claude.com/docs/en/about-claude/model-deprecations).