---
title: "Claude Sonnet 4.5 Retires November 30, 2026 | Since.dev"
description: "claude-sonnet-4-5-20250929 stops working on the Claude API on November 30, 2026. The date on each platform, how to find every use, and what to test."
canonical_url: https://since.dev/guides/claude-sonnet-4-5-retirement
last_updated: 2026-11-04
---

# Claude Sonnet 4.5 retires on November 30, 2026: how to move off it

Claude Sonnet 4.5 (claude-sonnet-4-5-20250929) retires on the Claude API on November 30, 2026, and requests to it fail from then on. Move to claude-sonnet-5-5. On Amazon Bedrock it keeps working until April 8, 2027.

Updated November 4, 2026

## When it stops working, by platform

Anthropic deprecated `claude-sonnet-4-5-20250929` on September 30, 2026 and retires it on the Claude API on November 30, 2026. The recommended replacement is `claude-sonnet-5-5`. Once a model is retired, requests to it fail ([Claude deprecations page](https://platform.claude.com/docs/en/about-claude/model-deprecations)).

That date covers the platforms Anthropic operates: the Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed) and Microsoft Foundry. Amazon Bedrock and Claude Models on Google Cloud (Google managed), the one the SDKs reach through `AnthropicVertex`, set their own dates.

Where Claude Sonnet 4.5 stops working, from each platform's own page on Nov 4, 2026

| Where you call it                                                          | Who sets the date                          | Stops working                                                                                                      |
| -------------------------------------------------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| Claude API                                                                 | Anthropic                                  | Nov 30, 2026                                                                                                       |
| Claude Platform on AWS                                                     | Anthropic                                  | Nov 30, 2026                                                                                                       |
| Claude Models on Google Cloud (Anthropic managed)                          | Anthropic                                  | Nov 30, 2026                                                                                                       |
| Microsoft Foundry, claude-sonnet-4-5 version 1                             | Anthropic, and Foundry lists the same date | Nov 30, 2026                                                                                                       |
| Amazon Bedrock, anthropic.claude-sonnet-4-5-20250929-v1:0                  | AWS                                        | Apr 8, 2027                                                                                                        |
| Claude Models on Google Cloud (Google managed), claude-sonnet-4-5@20250929 | Google                                     | [Google Cloud's page](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/claude) |

- Amazon Bedrock moved the model to legacy on October 8, 2026. From January 8, 2027 it's in public extended access, where AWS says to expect higher pricing set by the model provider. End of life is April 8, 2027, and requests fail after that. While a model is legacy, new customers can't use it and existing customers may lose access after 15 days of inactivity ([AWS model lifecycle](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle-legacy.html)). A job that runs once a month can lose access before April.
- Bedrock's lifecycle can differ by Region. Read the `modelLifecycle` field from `GetFoundationModel` in each Region you call ([AWS model lifecycle](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle-legacy.html)).
- Microsoft Foundry lists `claude-sonnet-4-5` version 1 retiring on November 30, 2026, with `claude-sonnet-5-5` as the replacement ([Foundry retirement schedule](https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule)).
- On Claude Models on Google Cloud (Google managed), Google's dates can differ from the Claude API schedule. The Claude docs send you to [Google Cloud's Claude models page](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/claude) for the current one ([Claude docs](https://platform.claude.com/docs/en/build-with-claude/claude-models-on-google-cloud/google-managed)).

## Find every place you call it

The model's ID depends on where you call it. Search for all of these:

- `claude-sonnet-4-5-20250929`: the dated ID on the Claude API.
- `claude-sonnet-4-5`: the alias. It points to the most recent dated snapshot of the model ([Claude model IDs page](https://platform.claude.com/docs/en/about-claude/models/model-ids-and-versions)), so move it too. Claude Platform on AWS lists the model under this name ([Claude docs](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws)). Foundry deployments default to it, and on Foundry the deployment name is what you send ([Claude models overview](https://platform.claude.com/docs/en/models/overview)).
- `anthropic.claude-sonnet-4-5-20250929-v1:0`: the Bedrock ID. Bedrock serves this model through inference profiles, so in code it usually has a prefix such as `global.`, `us.`, `eu.` or `jp.`, or sits inside an inference profile ARN ([Claude on Bedrock page](https://platform.claude.com/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy)).
- `claude-sonnet-4-5@20250929`: the ID on Claude Models on Google Cloud (Google managed).

One case-insensitive pattern catches every spelling, including SDK model constants, which swap the hyphens for underscores (the [Claude docs](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide) spell newer ones `ModelClaudeSonnet4_6` and `CLAUDE_SONNET_4_6`):

```
git grep -n -i -E 'sonnet[-_. ]?4[-_.]5'
```

Then check the places a repository search misses:

- `git grep` only reads tracked files. Check `.env` files, CI secrets and your hosting provider's environment settings by hand.
- Infrastructure code: Terraform or CDK stacks, and IAM policies if yours scope Bedrock access to a model ARN. The new model needs its own entry there.
- Eval sets, test fixtures, recorded responses and notebooks that pin the model.
- Calls from code you don't own, such as scripts and other teams' services. In the Claude Console, open the Usage page and click Export for a CSV broken down by API key and model ([Claude deprecations page](https://platform.claude.com/docs/en/about-claude/model-deprecations)).

On November 2, 2026, GitHub's code search counted about 250,000 files on public GitHub that still name `claude-sonnet-4-5-20250929`, not counting Bedrock's own ID (an approximate count). If your project started from a template or copied an example, check those files too.

## Check temperature, top_p and top_k first

This is the change most likely to fail your first request. On API version `2023-06-01`, Claude 4.7 and later models, `claude-sonnet-5-5` included, return a 400 error when `temperature`, `top_p` or `top_k` is set to anything but its default. API version `2026-10-21` removes all three, so sending any of them returns a 400 on every model ([Claude deprecations page](https://platform.claude.com/docs/en/about-claude/model-deprecations)).

The Claude docs say to leave them out and guide the model with prompting. If you set `temperature: 0` for repeatable output, it never guaranteed identical outputs on earlier models anyway ([Claude migration guide](https://platform.claude.com/docs/en/models/opus-5-5/migration-guide)). Our [guide to the temperature, top_p and top_k removal](https://since.dev/guides/claude-temperature-top-p-removed.md) covers where they hide and what to use instead.

## What else changes on Claude Sonnet 5.5

Swapping the ID is the easy part. These are the changes the [Claude Sonnet 5.5 migration guide](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide) lists for code coming from Claude Sonnet 4.5. Most of them return a 400 error, so your first test run finds them.

- Thinking is on by default. A request with no `thinking` field runs with adaptive thinking, where Claude Sonnet 4.5 ran without it. Read content blocks by `type`, because code that reads `content[0].text` breaks, and pass `thinking` blocks back unchanged in tool loops. To turn off up-front thinking, send `{"type": "between_tools"}`. `{"type": "disabled"}` returns a 400.
- Thinking budgets return a 400. Replace `budget_tokens` with an effort level in `output_config.effort`. The guide says there's no fixed mapping from a budget to a level, so run your evals at two or three levels. The default is `high`.
- Prefill returns a 400, because the conversation must end with a user message. For output format, use structured outputs, or a tool with enum fields for classification. Move continuations and reminders into the user turn.
- Forced tool use returns a 400. A `tool_choice` of type `any` or `tool` is rejected. Send `auto`, mark the tool `strict: true`, and say in your instructions when to call it.
- More tokens. The guide says the same text produces about 30 percent more tokens than on Claude Sonnet 4.5. Recount with token counting, and revisit `max_tokens` and cost. `max_tokens` now covers thinking too, which is billed as output.
- Renamed options. Move `output_format` to `output_config.format`. Remove the `interleaved-thinking-2025-05-14` beta header and any context window beta header, and replace `fine-grained-tool-streaming-2025-05-14` with `eager_input_streaming: true` on each tool that needs it.
- Refusals. Handle a `stop_reason` of `refusal`. The guide lists the categories that trigger one.

### Test it before you switch

1. The [Claude deprecations page](https://platform.claude.com/docs/en/about-claude/model-deprecations) recommends testing a replacement well before the retirement date. Run your evals, or a sample of real requests, on both models. Compare format, length, tool calls, latency and cost per request.
2. Read the model ID from config, not code, so you can switch and roll back without a deploy (our suggestion).
3. Move a slice of traffic first and watch for 400 errors and refusals. After November 30 you can't roll back to Claude Sonnet 4.5 on the Claude API, so pick a rollback model that's still active.
4. On Bedrock, keep your SDK on its current major version while you still call Claude Sonnet 4.5. The new majors send API version `2026-10-21`, which Bedrock serves only to Claude 4.7 and later models, so those calls can return a 400 ([Claude on Bedrock page](https://platform.claude.com/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy)).

## Where Since.dev fits

Since.dev tracks every model's retirement on each platform that serves it, from the publishers' own pages, along with API changes like the removed sampling parameters. The [retirement calendar](https://since.dev/calendar/anthropic.md) lists the Claude dates.

- [Scan any public GitHub repository](https://since.dev/scan.md), no sign-in needed. For a repository you scan or connect, it finds the exact file and line that names the model, with the days left and what to move to.
- A coding agent can ask through the [MCP server](https://since.dev/docs.md#mcp): call `check_code` with a model ID, or `whats_changed` with `model`.
- On Team and up, it opens a fix pull request that swaps the model. The pull request opens ready for review, and nothing merges or deploys.

## Questions

### What happens if I still call claude-sonnet-4-5-20250929 after November 30, 2026?

On the Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed) and Microsoft Foundry, the request fails, because a retired model is no longer available. On Amazon Bedrock it keeps working until April 8, 2027.

### Is claude-sonnet-4-5 a different model from claude-sonnet-4-5-20250929?

No. On the Claude API, `claude-sonnet-4-5` is an alias that points to the most recent dated snapshot of the model. Treat it as the same model and move both.

### How long can I keep using it on Amazon Bedrock?

Until April 8, 2027, its end of life on Bedrock. It has been legacy since October 8, 2026, so new customers can't use it, and an account that stops calling it for 15 days may lose access. From January 8, 2027, AWS says to expect higher pricing set by the model provider ([AWS model lifecycle](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle-legacy.html)).

### Can I move to claude-sonnet-4-6 instead?

You can, but the recommended replacement is `claude-sonnet-5-5`, and `claude-sonnet-4-6` retires not sooner than February 17, 2027 ([Claude deprecations page](https://platform.claude.com/docs/en/about-claude/model-deprecations)), so you may move again next year. It's a smaller step: thinking stays off by default, thinking budgets still work as a deprecated setting, and it accepts a non-default `temperature` on API version `2023-06-01`. It already rejects prefill ([Claude Sonnet 5.5 migration guide](https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide)).

## Put your code on continuous management.

Scan a public repository now, or give your agent one line.

### See how out of date your code is.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
