Do a one-Saturday model-string audit before your agent breaks on Monday
Treat model names like dependencies: a short grep-and-swap audit keeps a weekend agent from silently breaking after a model deprecation.

Your agent worked Friday. Monday, a model string is gone, and it returns an error, a blank response, or a fallback that looks almost right. If you built the project on nights and weekends, you probably did not write a migration plan. You wrote the thing.
GitHub plans to retire the listed models from all Copilot features, such as chat, inline editing, ask/agent modes, and code completion, on October 19, 2026. Most side projects stay side projects, and that is fine. A broken agent is still a small problem if you catch it before the next work week.
Treat model names like dependencies
A model string can appear in a script, a CI file, an agent config, a prompt template, or a local settings file. The same string can hide in several places and break in a spot you did not expect. The audit is a search, not a memory exercise.
The model may get faster, slower, cheaper, or renamed. Your script does not care about the reason. It only cares whether the string still resolves. You do not need to understand every model; the checklist works best when it stays small: know which strings your project uses, what replaces them, and whether the replacement is already enabled. The rest is cleanup.
A five-step audit fits in a Saturday
Run the steps below. Each one is small enough to finish before your coffee cools. In a larger repo, the grep step may take longer, but the decision is the same: find the strings, then stop guessing.
- Grep the model strings. Search the repo for the old model identifier, any alias, and any version suffix. Count the hits.
- Map old to new. Write a short note: old string, replacement, and the files where it appears.
- Swap only the mapped strings. Leave prompts, logic, and unrelated config untouched.
- Decide on defaults. Check whether automatic replacement is available, then set the new model explicitly if it is not.
- Run a smoke test. Trigger the agent with a tiny task and confirm it returns a normal response.
If a step feels too big, split it. You are not refactoring the project. The audit only makes the model string explicit, keeps the change boring, and proves the agent still talks to the model. A short note is enough: old string, replacement, files touched, and the result of the smoke test before you close the laptop and call the weekend done.
Defaults can save you, but only if you check
Customers do not need to take steps to remove the models after deprecation. Your config may not choose the right replacement by itself. For Copilot Enterprise and Copilot Business customers, suggested alternative models are automatically enabled under default model enablement unless an administrator turns off the global default or explicitly disables the model. A missing replacement leaves your config as the only thing standing between the agent and a blank response.
Write down which setting you changed. Future you will not remember whether the replacement came from the platform or from your config. A default can be helpful, but knowing which model your agent will call matters. If the replacement is enabled, your smoke test should pass. If it is not, the smoke test will tell you before Monday.
Deprecations are a pattern, not a surprise
Model strings age. DeepSeek's API cutover occurred on July 24, 2026 at 15:59 UTC. MCP's July 28, 2026 spec release marked Roots, Sampling, Logging, and the legacy HTTP+SSE transport as deprecated, while committing to at least twelve months of continued operation. OpenAI's March 24, 2026 developer notice set the September 24, 2026 removal date for the Videos API and all Sora 2 video-generation aliases and snapshots.
The pattern is the same: a name works, then it changes, then the project that pinned it needs a small update. None of this requires a big architecture change. It requires a short list of strings and a test that proves the agent still works.