Prompting & migration
What actually changed, generation to generation — not marketing copy about a new model being "smarter," but the specific parameter behaviour, tokenizer changes and default-thinking shifts that break a prompt or a budget when you upgrade. Anthropic's own migration notes are unusually good raw material for this and are rarely written up in one place; these guides are that write-up, sourced against the same facts module the calculators use.
Two kinds of change tend to bite during a migration, and they're easy to conflate. The first is a genuine behaviour change — thinking defaulting on where it used to default off, a parameter being rejected instead of silently ignored, an effort level that didn't previously exist. The second is a quieter accounting change — a new tokenizer counting the same text as more or fewer tokens than the old one did, which changes your bill without changing anything about how the model actually responds. Guides in this cluster call out which kind of change they're describing, because the fix for one is a prompt or config edit and the fix for the other is just re-baselining your cost expectations.
If you're not migrating anything and just want to understand a specific parameter — effort,
thinking, cache TTLs — the reference tables are the faster path; this cluster is
specifically for the delta between two model generations.
What actually changed from Sonnet 4.6 to Sonnet 5
What actually changed from Opus 4.6 to Opus 5
Migrating off budget_tokens to the effort parameter
Why your prompt caches on one model and not another
Writing system prompts that cache reliably
Adaptive vs always-on thinking: the difference
When to use xhigh effort
Prompting for agentic coding tasks
Why removing temperature broke your pipeline
Writing prompts that survive a model upgrade
Why your token-count estimate was wrong