Claude Sonnet 5 changes thinking defaults and token counts
Claude Sonnet 5 enables adaptive thinking by default, removes manual thinking budgets, rejects non-default sampling parameters, and tokenizes the same text into roughly 30% more tokens.
- Provider
- Anthropic
- Surface
- Claude API
- Change type
- breaking behavior
- Effective
- Announced
- Not specified
- Last verified
What breaks
A model-ID-only upgrade from Sonnet 4.6 can cause request errors and materially change token budgets, context calculations, and cost estimates.
- Manual extended thinking with budget_tokens returns an HTTP 400 error on Claude Sonnet 5.
- Non-default temperature, top_p, or top_k values return an HTTP 400 error.
- The same text produces approximately 30% more tokens than with the previous tokenizer, depending on content and workload.
- Adaptive thinking is enabled by default.
Affected identifiers and fields
Search your code, environment variables, gateway configuration, and stored request templates for these exact values.
claude-sonnet-5claude-sonnet-4-6
thinkingbudget_tokensadaptive thinkingtemperaturetop_ptop_ktokenizertoken counting
Migration target
Use Claude Sonnet 5 with adaptive thinking, omit manual thinking budgets and sampling fields, and remeasure token usage.
claude-sonnet-5
What to do
Remove manual thinking budgets and non-default sampling parameters, rely on adaptive thinking, and use Anthropic's token-counting API to recalibrate limits and cost controls.
Before and after
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=4096,
thinking={"type": "enabled", "budget_tokens": 2048},
messages=[{"role": "user", "content": "Analyze this dataset."}],
)response = client.messages.create(
model="claude-sonnet-5",
max_tokens=4096,
messages=[{"role": "user", "content": "Analyze this dataset."}],
)Official source receipts
These provider pages support the dates, identifiers, symptoms, and migration direction recorded above.
Anthropic · Official documentation
Anthropic · Official documentation