# What happens when an AI model is deprecated, and how do you prepare?

The notice that a model will be switched off on a set date. Until then it still answers; after its retirement date, every request to it fails, so code must move to a newer model first.

- Page: https://tecyfy.com/concepts/model-deprecation
- Subject: How AI works (https://tecyfy.com/concepts)
- Level: beginner
- Also called: Model retirement, Deprecated model, Model lifecycle, End of life (EOL)

A model you call through an API is not yours to keep. Providers retire older models to free capacity for new ones, and a retired model's name stops working: the same request that worked yesterday returns an error. Deprecation is the warning before that day.

## The stages

Names vary by provider, but the path is the same:

| Stage | What it means |
|---|---|
| **Active** | Supported and recommended |
| **Legacy** | No more updates; may be deprecated later |
| **Deprecated** | Still answers, but has a replacement and a retirement date |
| **Retired** (end of life) | Requests fail |

Anthropic gives at least 60 days' notice before retiring a publicly released model. Amazon Bedrock gives most models a 6-month Legacy period, some 45 days, and in that period a model that an account has not called for 15 days may stop working for it early. The same model can retire on different dates on different platforms: Claude's dates on Bedrock and Google Cloud are set by those platforms, not by Anthropic.

## Why a swap is not a rename

Changing the model name in your code is the easy part. The new model may:

- **Reject old parameters.** Anthropic removed `temperature`, `top_p` and `top_k` in its October 2026 API version, so code that sets them gets a 400 error on new models.
- **Count tokens differently,** so the same prompt costs more or less, and fits a context window differently.
- **Answer differently.** Better on average is not the same as better at your task: a prompt tuned for one model can lose accuracy on its successor.

That last point is why a migration needs an [evaluation set](https://tecyfy.com/concepts/eval-set): a few hundred of your real requests with known good answers, run on both models before the switch.

## How to stay ahead

1. **Know what you call.** Export usage by API key and model, from the provider's console, and list every model name in your code and config.
2. **Keep the model name in one setting,** not scattered through code, so a switch is one change.
3. **Watch the deprecation pages** of each provider you use, and of each platform, since dates differ.
4. **Test the replacement early,** with your evaluation set, as soon as the notice arrives, not in the last week.
5. **Plan for fine-tuned models.** A model fine-tuned on a base model that retires has to be trained again on the new one; on Bedrock, Legacy models accept no new fine-tuning jobs.

Our [Claude Sonnet 4.5 retirement](/blog/claude-sonnet-4-5-retirement) article walks through one migration, and the model pages under [prices](/prices) list each model still on sale.

## Related

- [Large Language Model](https://tecyfy.com/concepts/large-language-model): A model trained on a huge amount of text to predict the next token. Further training turns it into an assistant that follows instructions.
- [API](https://tecyfy.com/concepts#api): Application Programming Interface - a set of protocols and tools for building software applications
- [Eval Set](https://tecyfy.com/concepts/eval-set): The list of test cases an LLM app is graded on after every change. Each case is an input and what a good answer must do, so a score going up or down shows whether the change helped.
- [Inference](https://tecyfy.com/concepts/inference): Using a trained model to produce an answer. Training builds the model once; inference is every time someone asks it something, and it is what you pay for per token.

## Sources

- [Model deprecations](https://platform.claude.com/docs/en/about-claude/model-deprecations)
- [Model lifecycle](https://docs.aws.amazon.com/bedrock/latest/userguide/model-lifecycle.html)
