Claude Sonnet 4.5 Retires Nov 30: 8 of 14 Requests Break on 5.5

Contents
  1. When does Claude Sonnet 4.5 stop working?
  2. Which Sonnet 4.5 requests fail on Sonnet 5.5?
  3. How do you fix each failing request?
  4. What changes without an error?
  5. Is Sonnet 5.5 cheaper than Sonnet 4.5?
  6. Should you move to Sonnet 4.6 instead?
  7. What should you check before November 30?
  8. FAQ
  9. Related reading

Claude Sonnet 4.5 (claude-sonnet-4-5-20250929) stops working on the Claude API on November 30, 2026, and 8 of 14 common Sonnet 4.5 request shapes (combinations of request parameters) return HTTP 400 on its recommended replacement, Claude Sonnet 5.5. Anthropic deprecated Sonnet 4.5 on September 30: a deprecated model still answers, and after its retirement date every request to it fails. Amazon Bedrock keeps it until April 8, 2027, and Google Cloud has not announced a date. We sent the same 14 requests to Sonnet 4.5, Claude Sonnet 4.6 and Sonnet 5.5 through the Anthropic API, then compared response shapes, token counts and cost.

TL;DR

  • Claude Sonnet 4.5 retires November 30, 2026 on the Claude API and April 8, 2027 on Amazon Bedrock.
  • Sonnet 5.5 rejected 8/14 requests with API version 2023-06-01, and 9/14 with 2026-10-21.
  • Sonnet 4.6 rejected 1 of the 14, assistant prefill, and costs the same as Sonnet 4.5.
  • Short calls cost about the same on Sonnet 5.5 ($1.54 per 1,000) as on Sonnet 4.5 ($1.47), despite a 33% lower list price.

When does Claude Sonnet 4.5 stop working?

Sonnet 4.5 stops working on November 30, 2026 on every platform Anthropic runs, and later on the two platforms run by partners, so the retirement date depends on the platform you call it through.

PlatformStatus on October 26, 2026Last day of service
Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed), Microsoft FoundryDeprecated September 30Retires November 30, 2026
Amazon Bedrock (anthropic.claude-sonnet-4-5-20250929-v1:0)Legacy since October 8End of life April 8, 2027; “public extended access” from January 8, 2027, when the price may rise
Google Cloud, Google managed (claude-sonnet-4-5@20250929)Generally availableNo deprecation announced; the model page gives a retirement date of “not sooner than” September 29, 2026

Sources: Anthropic’s model deprecations page, the Bedrock model lifecycle (legacy) page, and Google Cloud’s Sonnet 4.5 model page and partner model deprecations (both updated October 22).

Bedrock’s Legacy state has rules of its own. New customers cannot start using the model, an existing account can lose access after 15 days without calls, and no new Provisioned Throughput (reserved capacity) can be bought for it. From January 8, 2027 the model enters public extended access, during which Anthropic may set a higher price.

Synthorai serves Sonnet 4.5 through Amazon Bedrock and Google Cloud, so requests to claude-sonnet-4-5 through Synthorai keep working after November 30; Bedrock’s own end date is April 8, 2027. On October 26 both claude-sonnet-4-5 and claude-sonnet-4-5-20250929 answered through Synthorai. Use the extra time to migrate: Bedrock’s price can change from January 8, and the model will go away.

Which Sonnet 4.5 requests fail on Sonnet 5.5?

Eight of the 14 request shapes that Sonnet 4.5 accepts fail on Sonnet 5.5, and one fails on Sonnet 4.6. We sent each shape once per model to the Anthropic API with anthropic-version: 2023-06-01, the version that Anthropic SDKs before the October 21 majors send. 200 means the request was accepted; 400 means it was rejected.

RequestSonnet 4.5Sonnet 4.6Sonnet 5.5
No sampling or thinking settings200200200
temperature: 0200200400
temperature: 1.0 (the default)200200200
top_p: 0.9200200400
top_k: 40200200400
thinking: {"type": "enabled", "budget_tokens": 2048}200200400
thinking: {"type": "disabled"}200200400
tool_choice: {"type": "auto"}200200200
tool_choice: {"type": "any"}200200400
tool_choice: {"type": "tool", "name": ...}200200400
Assistant prefill (the request ends with a partial assistant turn)200400400
stop_sequences200200200
System prompt with a 1-hour cache_control200200200
max_tokens: 64000200200200

The error messages say what to send instead:

RequestError message on Sonnet 5.5
temperature, top_p, top_k (non-default)“`temperature` is deprecated for this model.”
thinking with budget_tokens""thinking.type.enabled” is not supported for this model. Use “thinking.type.adaptive” and “output_config.effort” to control thinking behavior.”
thinking: disabled”To turn thinking off on this model, send “thinking”: {“type”: “between_tools”} instead of {“type”: “disabled”}.”
Forced tool_choice”tool_choice: type “tool” and “any” are not supported for this model.”
Assistant prefill”This model does not support assistant message prefill. The conversation must end with a user message.”

API version 2026-10-21, which the new SDK majors send, removes the sampling parameters for all three models, so temperature fails on Sonnet 4.5 there too. The other rows matched the table above under both versions.

How do you fix each failing request?

Each failure has a replacement on Sonnet 5.5:

Sonnet 4.5 requestSonnet 5.5 replacement
temperature, top_p, top_kRemove them; guide the output in the prompt instead
thinking with budget_tokens"thinking": {"type": "adaptive"} (the model decides how much to think) with "output_config": {"effort": "low"}, "medium" or "high" (the default; effort sets how much thinking it may do)
thinking: disabled"thinking": {"type": "between_tools"} (no thinking before the answer; short notes between tool calls come back as thinking blocks)
tool_choice: any or tooltool_choice: auto and name the tool in the prompt; in our test, auto returned a tool call in 10 of 10 requests on every model
Assistant prefillEnd with a user message; for JSON output, use structured outputs

A Sonnet 4.5 call with a thinking budget becomes this on Sonnet 5.5:

import anthropic

client = anthropic.Anthropic()

# Sonnet 4.5:
# client.messages.create(model="claude-sonnet-4-5-20250929", max_tokens=4096,
#     thinking={"type": "enabled", "budget_tokens": 2048}, messages=messages)

response = client.messages.create(
    model="claude-sonnet-5-5",
    max_tokens=4096,
    thinking={"type": "adaptive"},
    output_config={"effort": "medium"},  # low, medium or high (the default)
    messages=[{"role": "user", "content": "Extract the invoice total as JSON."}],
)

What changes without an error?

The first content block of a Sonnet 5.5 response is not always text, so code that reads response.content[0].text can break on a 200. Sonnet 5.5 thinks by default (adaptive thinking at high effort), and a response that used thinking starts with a thinking block whose text is empty unless you ask for it. On 20 extraction prompts sent the way Sonnet 4.5 code sends them, with no thinking settings, 11 Sonnet 5.5 responses started with a thinking block. Sonnet 4.5 and Sonnet 4.6 returned text first in all 40 of their responses. Twenty classification prompts, which need a one-word answer, returned text first on all three models.

Read the text blocks by type instead of position:

text = "".join(block.text for block in response.content if block.type == "text")

Thinking also counts as output. Sonnet 5.5 averaged 69 thinking tokens per extraction call, reported in usage.output_tokens_details.thinking_tokens and billed at the output price, on calls where Sonnet 4.5 wrote none.

Is Sonnet 5.5 cheaper than Sonnet 4.5?

Sonnet 5.5 is 33% cheaper per token than Sonnet 4.5 ($2 / $10 per million input and output tokens, against $3 / $15), but the same calls cost about the same, because it counts more tokens for the same text and thinks by default. Over 40 short production calls per model (20 classification, 20 extraction), Sonnet 5.5 cost $1.54 per 1,000 calls and Sonnet 4.5 $1.47.

CallSonnet 4.5 cost per callSonnet 5.5 cost per callInput tokens, 4.5 to 5.5
Classification (one-word label), n=20$0.00080$0.00067240 to 309
Extraction (JSON fields from an e-mail), n=20$0.00214$0.00241310 to 388
Single tool call with one tool defined, n=10$0.00253$0.00128577 to 391

The token count changed with the tokenizer, the component that splits text into tokens: Sonnet 5.5 uses the tokenizer of Anthropic’s newer models, while Sonnet 4.5 and Sonnet 4.6 share an older one. We counted 8,000-character samples of real text with Anthropic’s free count_tokens endpoint, after subtracting the count for a message that says only “OK” (8 tokens on Sonnet 4.5, 10 on Sonnet 5.5), which is almost all per-message overhead:

Text (8,000 characters)Sonnet 4.5 and 4.6Sonnet 5.5Change
English technical blog post3,1793,846+21%
German translation of the post3,5364,546+29%
Chinese translation of the post5,7706,378+11%
Japanese translation of the post5,5596,112+10%
Python source code2,4333,216+32%
JSON records2,0792,745+32%

The Chinese and Japanese posts contain English terms, numbers and Markdown; on short passages of pure Chinese or Japanese text the two tokenizers counted the same. Measured at Sonnet 4.5’s prices, the Sonnet 5.5 calls would have cost $2.31 per 1,000, so the token volume grew by 57% and the 33% price cut covered most but not all of it. The tool call was the exception: its input fell from 577 to 391 tokens despite the larger tokenizer, so the tool-use instructions the API adds to the prompt are likely shorter on Sonnet 5.5. For one tool and a short prompt, that halved the cost.

Should you move to Sonnet 4.6 instead?

Sonnet 4.6 is the lowest-effort move: it has the same price as Sonnet 4.5, the same tokenizer (every text above counted the same tokens), and only assistant prefill failed in our 14 requests. Its retirement date is not sooner than February 17, 2027, which postpones the Sonnet 5.5 move by about eleven weeks. Move to Sonnet 4.6 when November 30 arrives before you can rework thinking budgets, forced tool calls and response parsing, and plan the Sonnet 5.5 move for after.

Sonnet 4.5Sonnet 4.6Sonnet 5.5
List price, input / output per million tokens$3 / $15$3 / $15$2 / $10
Requests rejected of our 14018
Tokens for the same textbaselinesame+21% English, +32% code and JSON, about +10% Chinese and Japanese posts
Cost per 1,000 short calls in our test$1.47$1.47$1.54
Claude API retirementNovember 30, 2026Not sooner than February 17, 2027Not sooner than September 28, 2027

What should you check before November 30?

If your codeCheckChange
Sets temperature, top_p or top_kAny non-default valueRemove for Sonnet 5.5; Sonnet 4.6 still accepts them on 2023-06-01
Sets a thinking budgetthinking.budget_tokensAdaptive thinking with an effort level
Turns thinking offthinking: disabledthinking: between_tools
Forces a tooltool_choice any or toolauto, with the tool named in the prompt
Prefills the assistant turnRequests ending with an assistant messageEnd with a user message; structured outputs for JSON
Reads content[0].textResponse parsingFilter blocks by type == "text"
Budgets by token countPrompt and context limitsRe-count with count_tokens; English grew 21% and code 32% in our test
Runs on Amazon BedrockThe Bedrock date, not Anthropic’sApril 8, 2027, with a possible price change from January 8

FAQ

When is Claude Sonnet 4.5 retired? Claude Sonnet 4.5 is retired on November 30, 2026 on the Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed) and Microsoft Foundry. Amazon Bedrock ends it on April 8, 2027, and Google-managed Google Cloud had not announced a date as of October 26, 2026.

What replaces Claude Sonnet 4.5? Anthropic recommends Claude Sonnet 5.5 (claude-sonnet-5-5). Claude Sonnet 4.6 also works as a shorter-term replacement: same price as Sonnet 4.5, only assistant prefill rejected in our test, and available until at least February 17, 2027.

What happens to Sonnet 4.5 requests after November 30? Requests to a retired model fail, so calls to claude-sonnet-4-5-20250929 on the Claude API return an error from November 30. No platform moves the calls for you; you change the model name and the request shapes yourself.

← Back to blog