claude-sonnet-4-5 — pricing, context window and limits
Deprecated on 2026-09-30 and retiring on the Claude API on 2026-11-30, after which requests to it fail; Anthropic names Sonnet 5.5 as the replacement. It has no effort parameter at all, so the move inherits Sonnet 5.5's effort default and can quietly raise both latency and spend.
Price per million tokens
| Input | $3 |
|---|---|
| Output | $15 |
| Cache write, 5-minute TTL | $3.75 |
| Cache write, 1-hour TTL | $6 |
| Cache read | $0.30 (0.1x input) |
| Batch input / output | $1.50 / $7.50 |
Limits and behaviour
| Status | Deprecated |
|---|---|
| Context window | 200K tokens |
| Max output | 64K tokens |
| Min cacheable prefix | 1,024 tokens |
| Effort levels | not supported |
| Effort default | — |
| Thinking | Fixed budget_tokens, off unless requested |
| Forced tool_choice | Accepted |
| Platforms | Claude API, Amazon Bedrock, Google Cloud |
Lifecycle
| API model name | claude-sonnet-4-5-20250929 |
|---|---|
| Deprecated | 30 Sept 2026 |
| Retires | 30 Nov 2026 |
| Successor | Claude Sonnet 5.5 |
Active, but with no effort control at all
Sonnet 4.5 predates the effort parameter on the Sonnet line entirely — there is no tiered
reasoning control here, only the older thinking-budget mechanism. A move to any later Sonnet
inherits that model's effort default automatically, which can quietly raise both latency and spend
unless someone reviews the new default against what this model's absence of the parameter meant in
practice.
Its retirement floor has already passed
Anthropic's lifecycle table lists a "not sooner than" date for this model that is now behind us — the lifecycle table above shows it. A passed floor is not a retirement: the model still answers. It means a retirement can now be announced at any time, with the notice period Anthropic commits to. For a pipeline pinned to this id, that is the moment to start the migration rather than the moment to wait for the email.
Why the move is easy to under-plan
With no effort setting to carry forward, the destination model's default gets adopted blind rather than chosen. On Sonnet 5.5 the effort levels are also recalibrated, so a level name does not mean what it meant on Sonnet 5 — re-run an effort sweep on your own traffic rather than picking a level by its label.
Related
See migrating: Sonnet 4.5 to Sonnet 5 for the first diff, then migrating: Sonnet 5 to Sonnet 5.5 for the current Sonnet.
Verified 2026-10-28 against claude-api skill — shared/models.md, model-migration.md + SKILL.md model table and Anthropic's pricing and model-deprecation pages (canonical: https://platform.claude.com/docs/en/about-claude/models/overview, https://platform.claude.com/docs/en/about-claude/pricing, https://platform.claude.com/docs/en/about-claude/model-deprecations).Could not confirm: Context window and max output are not restated in our source for this model; re-check via the Models API before budgeting. Amazon Bedrock and Google Cloud (Google managed) set their own retirement dates, which we do not track.
Verified 2026-10-28 against Anthropic's model-deprecations status table and pricing page (canonical: https://platform.claude.com/docs/en/about-claude/model-deprecations, https://platform.claude.com/docs/en/about-claude/pricing).Could not confirm: These dates apply to 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) keep their own retirement schedules, which we do not track.