ClaudeHowSupport Us

Migrating: Sonnet 4.6 to Sonnet 5

Claude Sonnet 5 has itself been superseded by Claude Sonnet 5.5. If you are migrating now, check whether you can go straight there.

What changes

FromTo
ModelSonnet 4.6Sonnet 5
Input / MTok$3$2
Output / MTok$15$10
Cache read / MTok$0.30$0.20
Min cacheable prefix1,0241,024
Context window1M1M
Effort levelslow, medium, high, maxlow, medium, high, xhigh, max
Effort defaulthighhigh
ThinkingOff unless requested (adaptive)On by default — can be disabled
Forced tool_choiceacceptedaccepted

Three changes bundled into one same-tier move

This migration looks like a straightforward same-tier upgrade and carries three genuine changes worth checking independently: a lower per-token price paired with a tokenizer that counts more tokens for identical text, thinking flipping from opt-in to on-by-default, and a new top-of-range effort tier that didn't exist on the source generation at all.

The order to check them in

Re-count real prompts against the destination model first — this is the change most likely to affect your bill and the easiest to verify with a single endpoint. Then confirm max_tokens still covers a full response now that thinking runs by default. The new effort tier is the lowest priority of the three, since it's optional capability rather than a compatibility requirement — evaluate it against your hardest tasks rather than adopting it in the same cutover.

Why the price cut is smaller than the rate card suggests

Sonnet 5 launched at a lower per-token rate than Sonnet 4.6, first described as introductory; that rate has since become its standard price. A lower headline rate makes this migration look like a straightforward saving, and the tokenizer is what shrinks it: the same text produces more tokens on the destination, so part of the per-token cut is spent paying for extra tokens. Whether a real saving remains depends on your content mix — measure it with count_tokens against both models rather than carrying forward a projection built on the source model's counts. Pair that recount with the max_tokens check; both changes are silent on their own.

Consider skipping a step

Sonnet 5 has itself been superseded by Sonnet 5.5 at identical prices and with the same tokenizer, so the recount you do for this move is valid for both. The difference is behavioural: Sonnet 5.5 rejects thinking: disabled and forced tool choice. If your code uses neither, moving straight to the current Sonnet saves a second migration.

See migrating: Sonnet 4.6 to Sonnet 5.5 for the direct jump, and what actually changed from Sonnet 4.6 to Sonnet 5 for the narrative walkthrough.

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).