ClaudeHowSupport Us

Migrating: Sonnet 4.6 to Sonnet 5

Input / MTok$3 → $3
Output / MTok$15 → $15
Min cacheable prefix1,024 → 1,024 tokens
Effort levelslow, medium, high, max → low, medium, high, xhigh, max
Thinkingadaptive-opt-in → adaptive-default

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 tokenizer that counts more tokens for identical text at an unchanged sticker price, 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 directly and the easiest to verify with a single tool. 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 to check, since it's optional new capability rather than a compatibility requirement — evaluate it deliberately against your hardest tasks rather than adopting it as part of the same cutover.

Why re-baselining matters more here than the sticker price suggests

An unchanged headline rate makes it easy to assume this migration is cost-neutral, which is exactly the assumption the tokenizer difference undermines — re-run your actual cost projection against real counted tokens rather than carrying forward a projection built on the source model's counting behaviour. Pair that recount with a max_tokens check against the new thinking-on-by-default behaviour before treating the migration as verified — both changes are silent on their own, and checking one without the other leaves a real gap in your testing.

See what actually changed from Sonnet 4.6 to Sonnet 5 for the full narrative walkthrough of all three changes together.

Verified 2026-08-08 against ClaudeHow facts module (src/data/facts/) — see /about/#accuracy.