Claude Sonnet 4.5 retires Nov 30: what to move to on Sume
Anthropic deprecated claude-sonnet-4-5-20250929 on Sep 30, retiring it Nov 30, 2026 in favor of Sonnet 5.5. Sume's catalog has no Sonnet 4.5 row.

Claude Sonnet 4.5 (claude-sonnet-4-5-20250929) is deprecated and retires on November 30, 2026, and Anthropic's migration target is Claude Sonnet 5.5. Anyone who pinned the dated id in a script, a saved config or a scheduled job has until then. On Sume the question has a short answer: the agent model catalog in the repository has no Sonnet 4.5 row, so there is nothing to migrate there; what you pin is Sonnet 5.5.
Dates and ids come from the Claude Platform release notes, entry of September 30, 2026. Sume's side comes from the model catalog source and Calling a Format, both read on 2026-10-03.
What exactly did Anthropic announce?
The release notes record the deprecation on September 30, give the model id and the November 30, 2026 retirement date, and recommend Claude Sonnet 5.5. The Sonnet 5.5 entry (September 28) gives its id as claude-sonnet-5-5.
| Model | API id | Status in the notes |
|---|---|---|
| Claude Sonnet 4.5 | claude-sonnet-4-5-20250929 | Deprecated Sep 30, retires Nov 30, 2026 |
| Claude Sonnet 5.5 | claude-sonnet-5-5 | Launched Sep 28, 2026 |
Is Sonnet 4.5 selectable in a Sume agent?
Not in the catalog as I read it. The Anthropic rows in the agent model catalog are Fable 5.1, Fable 5, Opus 5.5, Opus 5, Sonnet 5.5, Sonnet 5 and Haiku 4.5. Opus 5 and Sonnet 5 are marked retired onto their 5.5 successors and are not listed for new picks. There is no Sonnet 4.5 entry among them.
The Formats API is strict about this. The model field on Calling a Format takes an Agents catalog id, and an id outside the catalog is 400 invalid_request. So a request that names a Sonnet 4.5 spelling fails fast instead of silently running something else, which is the behaviour you want from a pin.
What should I change before November 30?
Search your own repos and saved configs for the dated id, then decide per use whether Sonnet 5.5 is the right replacement. Three checks matter.
- Pins: any literal
claude-sonnet-4-5-20250929in a direct Anthropic call needs a new id; Sume callers should send a catalog id instead. - Request shape: the release notes list breaking changes from Sonnet 5 to Sonnet 5.5, including that forced tool use (
tool_choiceofanyortool) returns a 400. A direct Messages integration written for 4.5 may rely on forced tool use. - Context: Sonnet 5.5 is listed on the Claude API, Amazon Bedrock, Claude Platform on AWS, Google Cloud and Microsoft Foundry, so a cloud-specific deployment has the same target.
Does Sonnet 5.5 behave the same as 4.5?
Do not assume so. The release notes describe Sonnet 5.5 behaviour that is new relative to Sonnet 5 (thinking controls, account-bound thinking blocks), and this post does not compare it to 4.5 beyond that. If your agent steps are sensitive to wording or tool order, rerun a fixed sample of your own prompts on 5.5 before the cutoff rather than trusting a vendor label.
On Sume, the Sonnet 5.5 catalog row is openrouter/anthropic-claude-sonnet-5-5 and sits behind the OpenRouter gate, so confirm it appears in your workspace's model picker before you rely on it. The rows for OpenRouter models expose no effort or thinking parameters, which keeps the migration to one decision: which model id the orchestrator runs on.
curl -X POST https://api.sume.com/v1/formats/sume/sume-video-hook/runs \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: sonnet-55-pin-001" \
-d '{"instruction":"Three hook ideas for a vitamin C serum",
"model":"openrouter/anthropic-claude-sonnet-5-5",
"generation_spend_cap_usd":5}'How do I find every place the old id is pinned?
Start with a plain-text search across your repositories, environment files, CI variables and any saved Format or automation that names a model. The dated string claude-sonnet-4-5-20250929 is long and unusual, so a search for sonnet-4-5 finds nearly every pin. Check scheduled jobs separately: a cron that last changed in the spring is exactly the kind of thing that fails on December 1 with nobody watching.
For each hit, record who owns it and what it does, then replace it with a deliberate choice rather than a blanket find-and-replace. A classification step that ran fine on Sonnet 4.5 may not need Sonnet 5.5 at all, and a planning step that was borderline may deserve a stronger model. The retirement is a forcing function to make that choice once, in writing.
Sources
Related posts
More in Agents
- Claude thinking blocks are model-bound: one model per thread
Sonnet 5.5 and Fable 5.1 thinking blocks only work for the model (and account) that made them. Why an agent thread should keep one model, and how to log it.
- Hermes Agent cron job that starts a Sume Format run
A Hermes cron job begins with no memory of last week. Write the prompt, idempotency key, spend cap and SILENT or CRON_FAILURE reply so a Sume run starts once.
- Hermes cron no-agent script: poll a Sume bulk queue quietly
A Hermes cron script that prints nothing while a Sume bulk queue runs and one line when every item is terminal. Includes the Python, 404 and 429 cases.
- Sume Agent Completions request: required cap, model sume-agent
The minimum valid POST /v1/agent/completions body: instruction or messages, no assistant turns, model sume-agent, required generation_spend_cap_usd.
Written by Sume