A deprecation notice gives you one thing: a date by which requests to a named model id will stop working, published by one company about one platform. It is not a statement about how the replacement behaves, and the three providers we track publish three different commitments, which are three separate promises and not an industry norm.
The three commitments, side by side
Anthropic says customers with active deployments get at least 60 days[src] before a publicly released model is retired, and the same page states that partner platforms such as Amazon Bedrock and Google Cloud set their own schedules.[Anthropic]
OpenAI publishes three tiers: at least 6 months[src] for a generally available model, at least 3 months for specialized variants, and preview models that may be retired with much shorter notice, such as 2 weeks, with no minimum committed.[OpenAI] Quoting only the first tier overstates what you are owed on a preview.
Google says Gemini preview models may be used in production but will be deprecated with at least 2 weeks[src] notice.[Google]
The vocabulary differs too. Anthropic describes its model lifecycle in four states, active, legacy, deprecated and retired, and says requests to retired models will fail.[Anthropic] Those four words are Anthropic's, for Anthropic's models. Do not carry them onto another provider's page and assume the same meaning.
What the dates look like in practice
Two Anthropic examples give you the range.
Anthropic notified developers on 14 April 2026 that Claude Sonnet 4 and Claude Opus 4 would be retired, and both were retired on 15 June 2026[src], with claude-sonnet-4-6 and claude-opus-4-8 listed as the recommended replacements.[Anthropic] Anthropic notified developers on 5 June 2026 that Claude Opus 4.1 would be retired on 5 August 2026[src], with Claude Opus 4.8 as the recommended replacement.[Anthropic] Roughly two months in each case. That is a worked example, not the commitment: the commitment is the separate at-least-60-days line above.
The longer end looks different. OpenAI announced on 26 September 2025 the deprecation of gpt-3.5-turbo-instruct, babbage-002, davinci-002 and gpt-3.5-turbo-1106, with a shutdown date of 28 September 2026 and gpt-5.6-terra as the listed migration target. A year of warning sounds generous until you notice the failure mode: nobody schedules work a year out, and the ids in that list are the ones buried in batch jobs and internal tools. All of these sit in the change log with the provider page as the source.
A retirement date is not a fixed point
Google announced on 2 April 2026 that the retirement dates for Gemini 2.5 Pro, Gemini 2.5 Flash and Gemini 2.5 Flash-Lite on Vertex AI had been updated to 16 October 2026[src].[Google] Dates on a published page get updated, so a date you copied into a ticket in January is a date you have to re-read in April.
Pinning does not exempt you either. OpenAI announced on 11 June 2026 that the gpt-5-2025-08-07 snapshot would be shut down on 11 December 2026[src].[OpenAI] A dated snapshot buys you time and not permanence, which is worth knowing before you build a process that assumes otherwise. Our rerun protocol re-reads the provider pages rather than trusting a date noted earlier, for exactly this reason.
The sentence the notice does not contain
A notice names a replacement. It does not tell you what the replacement does to your feature.
When Anthropic notified developers about Claude Sonnet 3.7 on 28 October 2025, claude-sonnet-4-6 was listed as the replacement, and the model retired on 19 February 2026. When OpenAI deprecated the chatgpt-4o-latest snapshot on 18 November 2025 with a shutdown on 17 February 2026, gpt-5.1-chat-latest was listed. When Google shut down Gemini 3 Pro Preview on 9 March 2026, the move was to a current Gemini 3 id. In all three cases the provider is answering the question "what should I call instead", which is not the question "will my prompts still work".
That second question only has an answer if you run it. A migration is a rerun of your golden dataset (the fixed set of labelled inputs and expected outputs agreed at baseline, versioned so two runs can be compared) on the replacement id, read against the last passing run on the old one. Prompts written for a retiring model were often tuned against its quirks, and those are the cases where a regression (a case that passed on the previous run and fails on this one) shows up.
Turning a notice into a plan
Four steps, in order.
- Inventory the ids. Export usage by model per platform, including batch jobs, internal tools and anything a partner platform serves. A notice you never connect to a running call is not a warning.
- Put the date in a calendar, with a re-read scheduled before it. Dates move.
- Book the migration run before the replacement is forced. A rerun on the new id while the old one still serves gives you a comparison. A rerun after the old id stops gives you a number with nothing to compare it against.
- Record what moved. Our monthly report structure puts each finding next to the dataset it came from and attaches one action: rerun, re-pin, re-prompt or migrate.
If you would rather not track the provider pages yourself, that is the job. One of our six written guarantees is that every tracked provider update triggers a rerun within 2 business days of the provider's announcement, and the plans page says how many features that covers. The situation guide for a forced migration walks through the first week, and the per-provider views are at Anthropic and OpenAI.