You maintain a process in a client's internal system that calls claude-sonnet-4-5-20250929 to classify inquiry emails. You received the deprecation notice email, but you have not fully worked out what needs fixing by when, or where it is called. This article is for development and maintenance staff in that kind of situation (a scenario assumed by the editorial team), and summarizes what to do before November 30.
According to the official model deprecations page, Claude Sonnet 4.5 was deprecated on September 30, 2026, and its retirement date on the Claude API is November 30, 2026. The recommended replacement is claude-sonnet-5-5. Rewriting the model ID is not enough: some requests that worked on Sonnet 4.5 return 400 errors on Sonnet 5.5.
After November 30, requests will fail
The status table on the model deprecations page lists Sonnet 4.5 as follows.
| Model ID | Status (as of October 16) | Deprecation date | Retirement date / estimate |
|---|---|---|---|
| claude-sonnet-4-5-20250929 | Deprecated | September 30, 2026 | November 30, 2026 |
| claude-sonnet-4-6 | Active | None | Not before February 17, 2027 |
| claude-sonnet-5-5 | Active | None | Not before September 28, 2027 |
| claude-haiku-4-5-20251001 | Active | None | Not before October 15, 2026 |
| claude-haiku-5-5 | Active | None | Not before October 7, 2027 |
By the official definitions, Deprecated means the model "still works but is not recommended," and Retired means it is "unavailable, and requests fail (Requests to retired models will fail)." There is also a note that deprecated models are likely to be less reliable than Active models, so the sooner you migrate, the safer.
Neither the deprecations page nor the errors page says which HTTP status or error type is returned on failure. We recommend checking in advance that you get an alert whenever a call fails, regardless of the error type.
These dates apply to the Claude API, Claude Platform on AWS and Microsoft Foundry, which Anthropic operates. Amazon Bedrock and Google Cloud each set their own retirement dates. The Claude pages for both also show Sonnet 4.5 as "deprecated," but direct you to check the retirement dates in AWS and Google Cloud documentation (not verified by the editorial team).
Haiku 4.5 is still Active as of October 16, but the date given as its retirement estimate (not before October 15) has already passed, so it is not a good migration target from Sonnet 4.5.

First, find every place that calls Sonnet 4.5
The official deprecations page points to the Usage page in the Claude Console as the way to check usage.
- Open the Usage page in the Claude Console
- Click "Export"
- In the downloaded CSV, check usage by API key and by model
Once you know which API keys use Sonnet 4.5, you can trace them back to the systems and people those keys were given to.
In the code, searching only for the dated ID will miss some calls. The Claude API also has an alias, claude-sonnet-4-5 (pointing to the latest dated snapshot), and the ID format differs on Bedrock and Google Cloud.
# リポジトリ全体から Sonnet 4.5 のモデルIDを探す(設定ファイル・テンプレートも対象)
grep -rn "claude-sonnet-4-5" .
This string matches the dated ID, the alias, claude-sonnet-4-5@20250929 on Google Cloud, and anthropic.claude-sonnet-4-5-20250929-v1:0 on Bedrock (including prefixed forms such as us.).
Model names can also live in environment variables, CI/CD variables, configuration values stored in databases, and nodes in no-code tools. Cross-checking the keys in the Usage CSV against the grep results and investigating anything that appears in only one of them helps reduce oversights.
Settings that cause 400 errors when you switch to Sonnet 5.5
The Sonnet 5.5 migration guide has a section for moving from Sonnet 4.5 (Migrating from Claude Sonnet 4.5 or earlier). We have tabulated the main settings that Sonnet 4.5 accepted but that return 400 errors on Sonnet 5.5.
| Setting used with Sonnet 4.5 | How Sonnet 5.5 handles it | Replacement |
|---|---|---|
thinking: {"type": "enabled", "budget_tokens": N} | 400 error | Remove budget_tokens and adjust with output_config.effort |
Non-default values for temperature, top_p and top_k | 400 error | Remove them and give instructions in the prompt |
| Prefilling the last assistant turn (prefill) | 400 error | Move to structured outputs, the system prompt or the user message |
any and tool for tool_choice (forcing tool use) | 400 error | auto and strict: true tools |
thinking: {"type": "disabled"} | 400 error | {"type": "between_tools"} (effort at high or below) |
output_format (without the beta header) | 400 error | output_config.format |
The prefill error returns "This model does not support assistant message prefill. The conversation must end with a user message." Processes that put { at the start to force JSON output should be replaced with structured outputs (on Bedrock, Sonnet 5.5 structured outputs are not available, so use prompt instructions and your own validation).
If you upgrade the Python SDK to v1.0 or later, there is one more thing to watch. According to the deprecations page, this SDK removes temperature, top_p and top_k from the request types, and passing them results in TypeError before the request reaches the API.
In addition, remove interleaved-thinking-2025-05-14 and the context window extension beta header, and replace fine-grained-tool-streaming-2025-05-14 with the per-tool eager_input_streaming: true.
The changes from Sonnet 5 to 5.5 (thinking blocks, the computer use tool set and more) are covered in What to check before switching to Claude Sonnet 5.5, and they also apply when moving from Sonnet 4.5.
Response format and cost changes that happen without errors
400 errors show up quickly in testing. What deserves attention is the changes in results that happen without any error.
Thinking is on by default. On Sonnet 4.5, there was no thinking unless you specified thinking, but on Sonnet 5.5 adaptive thinking runs. A thinking block may come first in the response, so code that assumes and reads content[0].text will break. Distinguish blocks by type, and in tool loops, send thinking blocks back unchanged.
Review max_tokens and effort. Thinking and the response text together must fit within max_tokens, and thinking is billed as output tokens. Because Sonnet 4.5 has no effort setting, you are asked to set it explicitly (the Claude API default is high).
The same text uses about 30% more tokens. The tokenizer is different, and depending on the content, token counts are about 30% higher. For images, a 2000×1500 image uses roughly 2.5 times as many.
Unit prices are lower for Sonnet 5.5.
| Per million tokens (USD) | Sonnet 4.5 | Sonnet 5.5 |
|---|---|---|
| Input | $3 | $2 |
| Cache reads | $0.30 | $0.10 |
| Output | $15 | $10 |
However, because of the higher token counts and the output used for thinking, your bill will not necessarily drop in proportion to the unit prices. Measure again with real requests. We explain the reasoning in A cheaper new model does not automatically lower your bill.
How to proceed before November 30
From here on are the editorial team's suggestions.
- List every call site. Make a table of systems, processes, API keys and owners, and note each provider's retirement date for calls made via Bedrock or Google Cloud
- Move model IDs into configuration. Move hard-coded IDs into environment variables or similar so you can roll back if problems arise
- Fix settings that cause 400 errors first. The migration guide says that in Claude Code,
/claude-api migratecan help replace IDs and fix breaking changes (the editorial team has not used it) - Compare results and costs with the same inputs. Using past inquiries or documents, compare output quality, response time and token counts. Try two or three effort levels
- Switch over gradually and monitor errors. Before November 30, confirm in Usage that Sonnet 4.5 usage has dropped to zero
Sonnet 5.5 is the officially recommended replacement. Sonnet 4.6 (estimated retirement not before February 17, 2027) accepts budget_tokens and sampling parameters, but prefill returns a 400 error, and you would likely need to migrate again soon. Haiku 5.5 is aimed at high-volume processing and has a lower unit price, but its migration guide covers migrating from older Haiku models, and budget_tokens, sampling and prefill likewise return 400 errors. Evaluate whether its quality is sufficient for tasks such as classification before choosing it. For choosing a model per task, How to decide which model to use in development is also a useful reference.
The official page says that retirements of publicly available models are announced by email at least 60 days in advance. If the person receiving the notices is different from the person maintaining the system, reviewing the recipients will make it easier to be ready for the next retirement.
Scope of verification
On October 13, 2026, we checked the Claude Platform release notes (September 30, 2026), the model deprecations page, the Sonnet 5.5 and Haiku 5.5 migration guides, the pricing page, the model ID documentation, and the Claude pages for Amazon Bedrock and Google Cloud (desk research). We did not make API calls, run migration tests or export Usage from the Console. We have not confirmed the type of error returned after retirement or the Sonnet 4.5 retirement dates on Amazon Bedrock and Google Cloud. On October 16, 2026, we reviewed the status table on the model deprecations page and the release notes again, and confirmed that the dates and statuses had not changed.
For migrating the Claude API in internal systems or designing evaluations before switching models, please contact us via Consulting on development, AI, and automation.









