Migrating: Sonnet 4.5 to Sonnet 5
| Input / MTok | $3 → $3 |
|---|---|
| Output / MTok | $15 → $15 |
| Min cacheable prefix | 1,024 → 1,024 tokens |
| Effort levels | none → low, medium, high, xhigh, max |
| Thinking | budget-tokens → adaptive-default |
Migrating from a generation with no effort control at all
This is a two-generation jump in effort-parameter terms: the source model predates the effort
parameter entirely, relying only on the older thinking-budget mechanism, while the destination
carries the full current range including its newest, highest tier. There's no existing effort
setting to carry forward here — the destination's default is being adopted from a blank slate
rather than migrated from a prior deliberate choice.
Why this deserves more testing than the adjacent-generation move
Because two generations of change are compressed into one migration, and because there's no prior effort setting to anchor a starting point against, this move needs more deliberate testing than a single-generation upgrade would — start from the recommended default effort level and validate against your actual task distribution, rather than assuming any specific starting point transfers cleanly from a model that never had this concept at all.
Treat this as a full migration, not a version bump
Given how much separates these two generations, this move deserves the same scrutiny you'd give any significant dependency upgrade — full re-testing against real traffic, not a quick smoke test against a couple of example prompts assumed to represent the whole workload. Start your effort-level choice from the recommended default, validate output quality and cost together against a representative sample, and only then consider whether the newest, highest tier is worth testing for your hardest cases specifically.
Related
See migrating off budget_tokens to the effort parameter for the mechanics of adopting effort-based control for the first time.
Verified 2026-08-08 against ClaudeHow facts module (src/data/facts/) — see /about/#accuracy.