DEV Community

Cover image for Retiring AI models: a pre-flight checklist (first OpenAI batch goes 23 Oct)
Leigh Efford
Leigh Efford

Posted on

Retiring AI models: a pre-flight checklist (first OpenAI batch goes 23 Oct)

If you have code calling OpenAI, Anthropic or Gemini on Vertex AI, several dates in the next three months will break some of it. Here's what's going, the gotchas we hit while checking our own code, and a two-minute way to see if you're affected.

What's switching off

Date What Provider's replacement
20 Oct 2026 Gemini 2.5 Pro, Flash and Flash-Lite on Vertex AI only (not deprecated on the Gemini API) See Google's Vertex AI model versions page
23 Oct 2026 Older OpenAI snapshots only: o1, o3-mini, o4-mini, gpt-3.5-turbo, gpt-4, gpt-4-turbo, gpt-4.1-nano, gpt-4o-2024-05-13 (plus gpt-image-1 and some fine-tunes; see OpenAI's deprecations page) gpt-5.6-luna (for 4.1-nano), gpt-5.6-sol (o1, o3-mini, gpt-4, gpt-4-turbo, gpt-4o-2024-05-13), gpt-5.6-terra (gpt-3.5-turbo, o4-mini)
30 Nov 2026 claude-sonnet-4-5-20250929 (Anthropic's own platforms; Bedrock and Vertex set their own dates) claude-sonnet-5-5
6 Jan 2027 Last day existing OpenAI customers can start new fine-tuning jobs n/a
14 Jan 2027 gpt-4o-2024-08-06, gpt-4o-2024-11-20, gpt-4o-mini-2024-07-18, gpt-4.1-2025-04-14, gpt-4.1-mini-2025-04-14, and fine-tunes built on them gpt-6-luna

On the shutdown date, requests to those IDs fail. In a queue or cron job, that can look like silence until somebody notices the backlog.

Check your repo in two minutes

rg -n --hidden -g '!node_modules' -g '!.git' \
  -e 'gpt-4' -e 'gpt-3\.5' -e 'o1' -e 'o3-mini' -e 'o4-mini' \
  -e 'claude-sonnet-4-5' -e 'gemini-2\.5' -e 'ft:gpt' .
Enter fullscreen mode Exit fullscreen mode

Expect some noise from short patterns like o1. Check config files, .env.example, seed data, test fixtures and docs, not just code. Then look for the model being chosen at runtime (OPENAI_MODEL, MODEL_NAME and so on) and check the live values in each environment.

Five gotchas

  1. Undated names are still on the list. gpt-4o with no date currently resolves to gpt-4o-2024-08-06, which shuts down on 14 Jan. OpenAI can re-point it, but don't assume the undated name keeps you safe.
  2. An empty shutdown_date doesn't mean you're safe. OpenAI says to watch the shutdown_date field on GET /v1/models, but it can be null, so check the deprecations page as well.
  3. A name-only swap can 400. In our own API checks, gpt-6-luna rejected max_tokens with HTTP 400 (use max_completion_tokens, or max_output_tokens on the Responses API). Chat Completions calls with function tools also needed reasoning_effort: "none".
  4. Ship parameter changes and the model switch together. In our tests the old models rejected reasoning_effort and the new one needed it, so a "settings first, model later" rollout breaks one way or the other.
  5. Fine-tunes have no direct successor. They shut down with their base model. If you rely on one, decide what replaces it before 6 Jan, when new fine-tuning jobs stop.

Once you've found the calls, run 10 to 20 real prompts against the old and new models while the old one still works, and diff the outputs. JSON field names and classifier buckets drift without any error.


Disclosure: I'm at Burnt & Toast, and we built Last Orders, a free open-source CLI that does the rg step properly (aliases, env vars, fine-tunes) and flags the calls whose parameters will break. Install it with pipx install lastorders, then run lastorders scan .. There's also a GitHub Action (burntandtoast/lastorders@v0.4.6). Source: github.com/burntandtoast/lastorders. The free scan tells you which calls will break. If you want them rewritten for you, there's a paid automatic fix at £179 per repo including VAT, one-off.

Top comments (0)