The Model Deprecation Calendar: What Retires Between June and October 2026
While auditing our catalog on April 25, 2026 we pulled every provider's deprecation schedule. Six widely-used model IDs across Anthropic and Google are scheduled for shutdown in the next six months. If your application hard-codes any of them, the calls will start returning 404 on the date listed. If your application talks to Consilium, our alias map redirects each retired ID to a live equivalent — but you should still know what is moving.
The calendar
| Date | Provider | Model ID | Aliased forward to |
|---|---|---|---|
| Jun 1, 2026 | gemini-2.0-flash | gemini-3-flash-preview | |
| Jun 1, 2026 | gemini-2.0-flash-lite | gemini-3.1-flash-lite-preview | |
| Jun 15, 2026 | Anthropic | claude-sonnet-4-20250514 | claude-sonnet-4-6 |
| Jun 15, 2026 | Anthropic | claude-opus-4-20250514 | claude-opus-4-6 |
| Jun 17, 2026 | gemini-2.5-pro | gemini-3.1-pro-preview | |
| Jun 17, 2026 | gemini-2.5-flash | gemini-3-flash-preview | |
| Jul 22, 2026 | gemini-2.5-flash-lite | gemini-3.1-flash-lite-preview | |
| Oct 2, 2026 | gemini-2.5-flash-image | gemini-3.1-flash-image-preview |
Sourced from Anthropic deprecations and Gemini deprecations as of April 25, 2026.
Already gone
One model in our previous catalog was already retired before the audit ran: gemini-3-pro-preview shut down on March 9, 2026 — about seven weeks before we caught it. The replacement target Google specifies is gemini-3.1-pro-preview, which is what our catalog now points to. Anyone who hit the old ID between March 9 and our April 25 update would have seen a 404 on the upstream call. (We didn't list it as a default, which is the only reason the impact was small.)
How aliasing keeps debates working
Every entry in the calendar above has a key in our MODEL_ALIASES map (apps/agents/src/shared/config/models.py). When a debate request arrives with one of these IDs — usually from a script someone wrote a year ago, or a debate session we replay from history — the resolver substitutes the live target before the agent class is constructed. The user's configured model is preserved in the session record so the substitution is auditable, but the actual upstream call uses an ID that responds.
The tradeoff: alias targets must themselves stay live. We deliberately do not point an alias at any model with its own retirement date inside the calendar window. So gemini-2.5-pro (retiring Jun 17) is not aliased to gemini-2.5-flash (also retiring Jun 17) — both go directly to the 3.x preview line. Same logic for claude-sonnet-4-20250514 → claude-sonnet-4-6 (skipping claude-sonnet-4-5, which has its own future risk).
What you should do if you hard-code IDs
- Search your code for any of the eight legacy IDs above and replace them with the alias target on the right. Do not wait for the retirement date — preview IDs have shorter notice windows, and the migration is mechanical.
- If you call Consilium, you don't need to do anything — but it's still cleaner to migrate so the substitution is visible in your code, not invisible in our resolver.
- For Gemini specifically: do not move from
gemini-2.0-flashtogemini-2.5-flash. Both retire in June. Move straight togemini-3-flash-preview.
Why we re-audit
Provider deprecation schedules don't arrive in a feed we can subscribe to. The shutdown dates land on documentation pages we have to fetch and re-read. We re-audit on a calendar (next run: end of May, just before the June 1 cluster) and commit the diff back to the catalog. The audit doc is in the repo at docs/design/model-freshness-2026-04.md with the verbatim source URLs for every row above.