---
title: "How to Track AI Model Retirements | Since.dev"
description: "Each provider, and Azure, Bedrock and Google Cloud, sets its own model retirement dates. Where to find them, how to script a check, how to find model IDs."
canonical_url: https://since.dev/guides/track-ai-model-retirements
last_updated: 2026-11-04
---

# How to know when an AI model you use is retiring

Each provider posts retirement dates on its own page, and OpenAI, Claude and Azure also email customers who use the model. If you call the model through Azure, Amazon Bedrock or Google Cloud, that platform sets its own date. So read the schedule for the platform your code calls, and find every model ID in your code.

Updated November 4, 2026

## Where each provider publishes retirement dates

Start with the official page for each place you call a model. Each one works a little differently.

Where retirement dates are published, from each page on Nov 4, 2026

| Where you call the model  | Where the dates are                                                                                                                  | How you're told                                        |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------ |
| OpenAI API                | [Deprecations page](https://developers.openai.com/api/docs/deprecations), and shutdown_date on List models                           | Email to customers actively using the model            |
| Claude API                | [Model deprecations page](https://platform.claude.com/docs/en/about-claude/model-deprecations)                                       | Email to customers with active deployments             |
| Gemini API                | [Deprecations page](https://aistudio.google.com/docs/deprecations)                                                                   | Advance notice, and announcements in the release notes |
| Google Cloud              | [Model versions and lifecycle](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/model-versions)                 | A date in that page's table                            |
| Microsoft Foundry (Azure) | [Retirement schedule](https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule), and the Models API | Email to subscription owners, and Service Health       |
| Amazon Bedrock            | [Model lifecycle](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html), and modelLifecycle in the API          | A notice when a model moves to Legacy                  |

Google Cloud's Agent Platform is what Google calls the evolution of Vertex AI ([Google Cloud blog](https://cloud.google.com/blog/products/ai-machine-learning/introducing-gemini-enterprise-agent-platform)), so that's where Vertex model dates now live.

### How much notice you get

- OpenAI: at least 6 months for generally available models, at least 3 months for specialized variants, and as little as 2 weeks for preview models ([OpenAI](https://developers.openai.com/api/docs/deprecations)).
- Claude API: at least 60 days before retirement for publicly released models ([Claude deprecations page](https://platform.claude.com/docs/en/about-claude/model-deprecations)).
- Gemini API: the listed dates are the earliest a model might retire, and Google says it gives advance notice of the exact date ([Google](https://aistudio.google.com/docs/deprecations)).
- Google Cloud: dates can be extended but never moved earlier, and models in its shorter availability group get a fixed date at least 45 days out ([Google Cloud](https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/model-versions)).
- Microsoft Foundry: at least 60 days for generally available models and 30 days for preview models, by email to subscription owners with active deployments and as Service Health advisories ([Microsoft](https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirements)).
- Amazon Bedrock: models launched before September 7, 2026 stay in Legacy for at least 6 months before end of life ([AWS](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle-legacy.html)). For later models the model card shows a Legacy period of 6 months or 45 days ([AWS](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html)).

Emails go to whoever owns the account or subscription, so make sure that's a shared inbox someone reads. We found no RSS feed on any of these pages. Azure comes closest: a Service Health alert rule can send an email, a text message or a webhook ([Microsoft](https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirements)).

## Why the platform you call changes the date

The same model can retire on different days depending on who serves it. Amazon Bedrock says its lifecycle dates may differ from the model provider's, and only Bedrock's dates apply on Bedrock ([AWS](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html)). The Claude deprecations page says the same of Bedrock and of Google-managed Claude on Google Cloud ([Claude](https://platform.claude.com/docs/en/about-claude/model-deprecations)).

One model, different dates, from each platform's own page on Nov 4, 2026

| Model ID                                  | Platform          | Retirement date                              |
| ----------------------------------------- | ----------------- | -------------------------------------------- |
| claude-sonnet-4-5-20250929                | Claude API        | Nov 30, 2026                                 |
| anthropic.claude-sonnet-4-5-20250929-v1:0 | Amazon Bedrock    | Apr 8, 2027                                  |
| gpt-4o-2024-08-06                         | OpenAI API        | Jan 14, 2027                                 |
| gpt-4o version 2024-08-06                 | Microsoft Foundry | Apr 14, 2027                                 |
| gemini-2.5-pro                            | Google Cloud      | Oct 20, 2026                                 |
| gemini-2.5-pro                            | Gemini API        | Dec 1, 2026, then routed to gemini-3.8-flash |

- Regions can differ too. On Bedrock, `anthropic.claude-3-haiku-20240307-v1:0` reaches end of life on November 13, 2026 in some Regions and November 27, 2026 in `ca-central-1` ([AWS](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle-legacy.html)).
- Azure may upgrade you. At retirement, Global Standard and Data Zone Standard deployments of `gpt-4o` 2024-05-13 move to `gpt-5.1` automatically, and Provisioned deployments don't ([Microsoft](https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirement-schedule)). A deployment set to `NoAutoUpgrade` stops working at retirement ([Microsoft](https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirements)).
- A retired model behaves differently per platform. Requests to a retired Claude model fail ([Claude](https://platform.claude.com/docs/en/about-claude/model-deprecations)), Azure returns `410 Gone` ([Microsoft](https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirements)), Bedrock requests fail after end of life ([AWS](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html)), and the Gemini API routes some retired models to a newer one ([Google](https://aistudio.google.com/docs/deprecations)).

So one date for a model is often the wrong date for your code. Plan against the date for the platform your code calls, and on Bedrock, the Region too.

## Check the dates with a script

Three platforms put lifecycle dates in an API, so a scheduled CI job can read them. OpenAI's List models returns an optional `shutdown_date` for each model ([OpenAI](https://developers.openai.com/api/docs/deprecations)):

```
curl -s https://api.openai.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  | jq '.data[] | select(.shutdown_date)
      | {id, shutdown_date}'
```

Bedrock's ListFoundationModels returns `modelLifecycle`, with a status of `ACTIVE` or `LEGACY` and an end of life time ([AWS](https://docs.aws.amazon.com/bedrock/latest/APIReference/API%5FListFoundationModels.html)). Run it in each Region you call:

```
aws bedrock list-foundation-models \
  | jq '.modelSummaries[]
      | select(.modelLifecycle.status == "LEGACY")
      | {modelId, eol: .modelLifecycle.endOfLifeTime}'
```

Azure's Models API lists `lifecycleStatus` and `deprecation.inference` for every model in a region. Watch the naming: in the API, `Deprecating` means what the docs call deprecated, and `Deprecated` means retired ([Microsoft](https://learn.microsoft.com/en-us/azure/foundry/openai/concepts/model-retirements)).

The Claude and Gemini deprecation pages don't point to a field like these, so for those you read the page. And a script only gives you dates. It doesn't know which of your files call the model.

Our calendar API returns the dates for every provider and platform we track, free and without a key ([API docs](https://since.dev/docs.md#public-api)):

```
curl -s https://api.since.dev/v1/calendar \
  -G -d kind=model -d within=90d
```

## Find every model ID in your code

One case-insensitive pattern catches most model IDs: OpenAI names such as `gpt-` and `o3-`, `claude-`, `gemini-`, and Bedrock IDs that start with `anthropic.`, with or without a prefix such as `us.`. Add the other makers you call on Bedrock.

```
git grep -n -i -E \
  '(gpt-|o[134]-|claude-|gemini-|anthropic\.)'
```

Expect some noise, since `o1-` can turn up in unrelated names. Then look for IDs read from config, by the key that holds them:

```
git grep -n -i -E \
  "model(_?id|_?name)?[\"']?[[:space:]]*[:=]"
```

Then check the places a repository search misses:

- `git grep` reads tracked files only. Check `.env` files, CI secrets and your host's environment settings by hand.
- On Azure, your code sends a deployment name, which can be anything. The openai-python example passes `model="deployment-name"` ([openai-python](https://github.com/openai/openai-python)), so check each deployment's model and version in Foundry.
- Infrastructure code, such as Terraform stacks, and IAM policies that scope Bedrock access to a model ARN.
- Eval sets, test fixtures, recorded responses and notebooks that pin a model.
- Calls from code you don't own. The Claude Console's Usage page exports a CSV of usage by API key and model ([Claude deprecations page](https://platform.claude.com/docs/en/about-claude/model-deprecations)).

## Your options, compared

Ways to track model retirements, and what each one leaves to you

| Option                                    | What you get                                                                  | What it leaves to you                                        |
| ----------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------ |
| Provider deprecation pages                | The official date and replacement                                             | Checking each page, for each platform you use                |
| Provider emails                           | A notice once you use the model                                               | Making sure the owner's inbox is read                        |
| Azure, Bedrock and Google Cloud schedules | The date that applies on that platform                                        | One more page per platform, and per Region on Bedrock        |
| RSS                                       | Updates pushed to you                                                         | We found none on these pages                                 |
| A script                                  | Dates from the OpenAI, Bedrock and Azure APIs                                 | Claude and Gemini dates, and where your code calls the model |
| Since.dev calendar and API                | Dates per platform for every provider we track, with iCal and RSS feeds, free | The file and line, which takes a scan                        |

## Where Since.dev fits

Since.dev tracks every model's retirement on each platform that serves it, from the publishers' own pages: the Claude API, OpenAI, the Gemini API, Google Cloud, Microsoft Foundry, Amazon Bedrock and Mistral. It matches each date to the platform your code calls. The [retirement calendar](https://since.dev/calendar.md) lists the dates for free, and `https://api.since.dev/v1/calendar` serves them as JSON with no key, with `.ics` and `.rss` feeds.

- [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 files and lines that name a retiring model, with the days left and the replacement.
- 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` for what changed.
- On Free you get those impacts only. On Team and up, we open a fix pull request that swaps the model, built and checked before it opens ([plans](https://since.dev/index.md#pricing)).

Fix pull requests open ready for review, your CI runs, and people decide whether to merge. Nothing merges or deploys.

## Questions

### How much notice do providers give before retiring a model?

It depends on the platform. OpenAI gives at least 6 months for generally available models, the Claude API at least 60 days for publicly released ones, and Azure at least 60 days for generally available models and 30 for preview. On Bedrock, models launched before September 7, 2026 stay in Legacy for at least 6 months. Each figure is from that platform's own page, linked above.

### What happens if my code calls a retired model?

On the Claude API and Amazon Bedrock, the request fails. On Azure, inference returns `410 Gone`, unless a Standard deployment was upgraded to the replacement. The Gemini API routes some models to a newer one at retirement, such as `gemini-2.5-pro` from December 1, 2026, so your requests keep working on a different model.

### Is there an RSS feed for model retirements?

We found none on the OpenAI, Claude, Gemini API, Google Cloud, Microsoft Foundry or Amazon Bedrock pages. Our calendar has one, free and without a key, at `https://api.since.dev/v1/calendar.rss`, and an iCal feed beside it.

### Do Azure, Bedrock and Google Cloud follow the provider's dates?

Not necessarily, since each sets its own. `gpt-4o` version 2024-08-06 leaves OpenAI's API on January 14, 2027 and runs on Azure until April 14, 2027. `claude-sonnet-4-5-20250929` retires on the Claude API on November 30, 2026 and runs on Bedrock until April 8, 2027.

### Do Dependabot and other dependency updaters warn about model retirements?

No. They update package versions, and a model ID is a string in your code. Our [Dependabot alternative guide](https://since.dev/guides/dependabot-alternative.md) covers what they do and don't catch.

## Related guides

### Migration guides

- [Claude Sonnet 4.5 retires on November 30, 2026: how to move off it](https://since.dev/guides/claude-sonnet-4-5-retirement.md)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.

### Comparisons

- [Dependabot alternative for breaking changes](https://since.dev/guides/dependabot-alternative.md)Dependabot keeps versions current for free. It won't say which lines an update breaks, or when a model, API or runtime you use retires. What to add.
- [Renovate alternative for breaking changes](https://since.dev/guides/renovate-alternative.md)A Renovate alternative for what version updates miss: the lines a new version breaks, and AI model, API and runtime retirements. When to use both.

## Put your code on continuous maintenance.

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

[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`

[Get an API key](https://app.since.dev/login?mode=signup)

Codex, Cursor and any MCP client use https://api.since.dev/mcp.

---

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