Claude Sonnet 4.5 retires on 30 November 2026
Anthropic retires claude-sonnet-4-5-20250929 on 30 November 2026 on the Claude API and recommends claude-sonnet-5-5. Changing the name isn’t enough: Sonnet 5.5 thinks by default and rejects with a 400 things Sonnet 4.5 accepted (temperature, prefill, thinking: disabled).
Checked on
claude-sonnet-4-5 Anthropic
Shutdown date: 30 November 2026
Official replacement: claude-sonnet-5-5
What changes in your code
- Change
modeltoclaude-sonnet-5-5(or the replacement in the table). - Sonnet 5.5 thinks by default when you send no
thinking. To answer without thinking first, as Sonnet 4.5 did, sendthinking: {"type": "between_tools"}atlow,mediumorhigheffort.{"type": "disabled"}returns a 400. - Set
output_config.effortexplicitly, and raisemax_tokensif thinking is on: it counts. temperature,top_pandtop_kset to a non-default value return a 400: remove them.- Prefill (ending the conversation on an assistant message) returns a 400: use structured outputs or describe the format in the prompt.
- Read the reply by block type (
type == "text"), not by position: athinkingblock can come first.
Example code
Python
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY from the environment
msg = client.messages.create(
model="claude-sonnet-5-5", # was: "claude-sonnet-4-5"
max_tokens=4096,
thinking={"type": "between_tools"}, # no up-front thinking, as before
output_config={"effort": "medium"},
# no temperature, top_p or top_k: they return a 400
messages=[{"role": "user", "content": "Hello"}],
)
text = "".join(b.text for b in msg.content if b.type == "text")Node.js
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic(); // reads ANTHROPIC_API_KEY from the environment
const msg = await client.messages.create({
model: "claude-sonnet-5-5", // was: "claude-sonnet-4-5"
max_tokens: 4096,
thinking: { type: "between_tools" }, // no up-front thinking, as before
output_config: { effort: "medium" },
// no temperature, top_p or top_k: they return a 400
messages: [{ role: "user", content: "Hello" }],
});
const text = msg.content.filter((b) => b.type === "text").map((b) => b.text).join("");Sources: Anthropic · Model deprecations · Claude Sonnet 5.5 migration guide
claude-sonnet-4 Anthropic
Switched off since 15 June 2026
Official replacement: claude-sonnet-5-5
Sources: Anthropic · Model deprecations
claude-3-7-sonnet Anthropic
Switched off since 19 February 2026
Official replacement: claude-sonnet-5-5
Sources: Anthropic · Model deprecations
claude-3-5-sonnet Anthropic
Switched off since 28 October 2025
Official replacement: claude-sonnet-5-5
Sources: Anthropic · Model deprecations
We’ll email you before your model is switched off
One email 30 days before and another 7 days before the official date, with the replacement and what changes in the code. Free, no account, no marketing.
Using more than one model? Paste your code into the free checker.
Open the checker→Got a whole repository? Check it at once from the terminal, with nothing to install:
npx -y github:ericc2005t/ai-model-sunsetQuestions
- Is it the same date on Amazon Bedrock or Google Cloud?
- Not necessarily: Anthropic says those platforms set their own dates. Check your platform’s model table.
- What about Claude Sonnet 4 or 3.7 Sonnet?
- Already retired (15/06/2026 and 19/02/2026). If your code uses them, it has been failing since: the replacement is claude-sonnet-5-5 too.
- What about Claude Haiku 4.5?
- Still active. Anthropic says it won’t retire it before 15/10/2026 and hasn’t announced a date yet.
Rather I fix it for you? Model swap, €79; full migration, €290–490. I reply within 24 h with a fixed price.
Ask for the fix: I reply within 24 h
No calls and nothing to pay here. Tell me what your app runs on and what breaks: I reply in writing within 24 h with a fixed price and a timeline.