ClaudeHowSupport Us

Reading Anthropic's model deprecation schedule like an engineer

Why a deprecation notice deserves more attention than it usually gets

A model deprecation notice tends to land in the same category of attention as a routine changelog entry — noted, maybe forwarded to whoever owns the integration, rarely acted on with any real urgency until much closer to the actual cutover. That's a mismatch between how the notice feels (minor, informational) and what it actually represents (a hard deadline after which a chunk of your integration stops working, with no fallback unless you built one).

The three states a model can be in, and why they need different responses

A current model is safe to build against without qualification. A deprecated model with a published retirement date is a countdown — the deadline is known, and the only real question is whether your migration finishes before it does. A deprecated model with no retirement date announced yet is the one that gets systematically under-prioritised, because there's no visible countdown forcing the issue — and that's exactly backwards. No published date doesn't mean no urgency; it means the runway, once a date does get announced, is not guaranteed to be generous, and treating "no date yet" as "no rush" is how teams get caught by a compressed timeline they had no warning was coming.

Reading a retirement date like an engineer, not like a calendar reminder

The naive approach to a retirement date is treating it as a single point to be ready by. The more useful approach is working backward from it: how long does a real migration for this model actually take once you account for testing, not just the mechanical id swap — and does that timeline, started today, comfortably clear the deadline with room for the inevitable slip. A retirement date that looks comfortably far away shrinks fast once you subtract realistic testing time from it.

What "the id still works" doesn't tell you

Published retirement dates sometimes pass without an easily confirmable signal that the cutover executed exactly on schedule — which means a request that succeeds today against a model whose retirement date has already passed is not evidence that the id is safe to keep relying on, only that it happens to still resolve right now. Treat any model whose retirement date has passed as already gone in practice, regardless of whether a request against it still technically succeeds, and prioritise the migration accordingly rather than treating a still-working request as a green light.

Building deprecation tracking into your actual process, not your memory

The teams that handle this well don't rely on remembering a deprecation notice from whenever it was first announced — they build a standing, periodic check into their process specifically for this, the same discipline this site itself applies to its own published facts on a fixed schedule. A model's status is worth re-checking on a cadence, not assumed static from whenever you last looked.

What actually triggers the review that catches this early

The habit worth building is treating any model swap, any new integration, and any periodic maintenance pass as an opportunity to check current status against the full lineup — not just whether the model you're already using still resolves, but whether anything about its status has changed since you last checked.

Treating deprecation tracking as infrastructure, not a task

The most durable version of this habit isn't a person remembering to check periodically — it's a lightweight, automated check built into your own deployment or monitoring process that flags any model id your systems call against once its status changes, the same way you'd want an alert for any other dependency approaching end of life. A person remembering is a single point of failure; an automated check that runs regardless of who's paying attention that week is the version that actually survives staff turnover and a busy quarter.

Why we keep coming back to this specific discipline

This site's own maintenance obligation is essentially the same problem at a different scale — every figure we publish is subject to the same "don't trust that it's still true just because it worked last time you checked" discipline this post is arguing for in your own systems. We didn't arrive at that standard because it was theoretically appealing; we arrived at it because the alternative, watching a plausible-looking number quietly go stale, is a worse failure than the friction of checking regularly.

See the model ID you're calling has been retired and the model is deprecated but has no retirement date yet for what each of these states actually looks like when it catches you unprepared.

Verified 2026-08-08 against ClaudeHow facts module (src/data/facts/) — see /about/#accuracy.