Skip to main content
Sign in to Arbor CloudSign in

Model retirements · Dates as of 20 Oct 2026

gpt-⁠4o and gpt-⁠4.1 shut down on 14 January 2027.

OpenAI’s models API gives gpt-4o, gpt-4o-mini, gpt-4.1 and gpt-4.1-mini that date, the same as their dated snapshots: OpenAI removes them from the API that day. It lists gpt-6-luna as the replacement, and that model doesn’t accept every argument they did.

OpenAI shutdown, 14 Jan 2027

UTC

83days left

  • gpt-4oreplaced bygpt-6-luna
  • gpt-4o-minireplaced bygpt-6-luna
  • gpt-4.1replaced bygpt-6-luna
  • gpt-4.1-minireplaced bygpt-6-luna

Also the snapshots gpt-4o-2024-08-06, gpt-4o-2024-11-20, gpt-4o-mini-2024-07-18, gpt-4.1-2025-04-14 and gpt-4.1-mini-2025-04-14. OpenAI announced the date on 14 Oct 2026; its models API returned it for each alias on 18 Oct 2026.

OpenAI deprecations page

Retirement dates near today.

Text, audio, image and embedding models, from the providers’ deprecation pages as of 20 Oct 2026. OpenAI and Anthropic give the day a model shuts down. Google gives the earliest day: a model can go then or later. Video models and managed agents have dates too; the check lists them.

  1. OpenAI

    Shut down 25 days ago
    • gpt-3.5-turbo-1106
    • gpt-3.5-turbo-instruct
    • babbage-002
    • davinci-002

    Replacement: gpt-5.6-terra

    OpenAI deprecations
  2. OpenAI

    Shut down 22 days ago
    • gpt-5.4-cyber

    Replacement: No single model: the page names “the most capable cyber model available to you”.

    OpenAI deprecations
  3. Google Cloud

    Can be retired any day now
    • gemini-2.5-pro
    • gemini-2.5-flash
    • gemini-2.5-flash-lite

    Replacement: Two or three are listed for each, gemini-3.8-flash among them, so a person picks one.

    Gemini on Google Cloud (Vertex AI) only. The Gemini API gives these models no date.

    Google Cloud model versions
  4. OpenAI

    Shuts down today
    • gpt-3.5-turbo
    • gpt-4
    • gpt-4-turbo
    • gpt-4.1-nano
    • gpt-4o-2024-05-13
    • o1
    • o1-pro
    • o3-mini
    • o4-mini

    Replacement: gpt-5.6-terra, gpt-5.6-sol or gpt-5.6-luna, listed per model; o1-pro moves to gpt-5.6-sol with reasoning.mode: pro

    Also their dated snapshots, and gpt-image-1 (listed: gpt-image-2.5-sunburst or gpt-image-2.5-flare). gpt-4-1106-preview, listed for the same day, already answered 404 on 18 Oct.

    OpenAI deprecations
  5. Gemini API

    In 25 days at the earliest
    • gemini-3.1-flash-live-preview
    • gemini-2.5-flash-native-audio-preview-12-2025
    • gemini-2.5-flash-preview-tts
    • gemini-2.5-pro-preview-tts
    • gemini-3.1-flash-tts-preview

    Replacement: gemini-3.8-live for the Live models; gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts for text to speech

    Gemini API deprecations
  6. Google Cloud

    In 27 days at the earliest
    • gemini-3.6-flash

    Replacement: gemini-3.8-flash

    Google Cloud only. The Gemini API gives gemini-3.6-flash no date.

    Google Cloud model versions
  7. Anthropic

    Shuts down in 38 days
    • claude-sonnet-4-5-20250929

    Replacement: claude-sonnet-5-5

    The alias claude-sonnet-4-5 points to this snapshot. Anthropic’s pages don’t say whether the alias stops working the same day.

    Anthropic model deprecations
  8. OpenAI

    Shuts down in 39 days
    • gpt-image-1-mini
    • gpt-image-1.5
    • chatgpt-image-latest

    Replacement: gpt-image-2.5-sunburst or gpt-image-2.5-flare

    OpenAI deprecations
  9. OpenAI

    Shuts down in 49 days
    • gpt-5-2025-08-07
    • gpt-5-mini-2025-08-07
    • gpt-5-nano-2025-08-07
    • gpt-5-pro-2025-10-06
    • o3-2025-04-16
    • o3-pro-2025-06-10

    Replacement: gpt-5.6-sol, gpt-5.6-terra or gpt-5.6-luna, listed per model; the two pro models move to gpt-5.6-sol with reasoning.mode: pro

    The page lists these dated snapshots, not the gpt-5 or o3 aliases.

    OpenAI deprecations
  10. Google Cloud

    In 51 days at the earliest
    • gemini-live-2.5-flash-native-audio

    Replacement: gemini-3.8-live

    Google Cloud model versions
  11. OpenAI

    Shuts down in 75 days
    • tts-1
    • tts-1-hd
    • gpt-4o-mini-tts-2025-03-20
    • gpt-4o-mini-tts-2025-12-15

    Replacement: gpt-realtime-2.1-mini

    OpenAI deprecations
  12. OpenAI

    Shuts down in 83 days
    • gpt-4o
    • gpt-4o-mini
    • gpt-4.1
    • gpt-4.1-mini

    Replacement: gpt-6-luna

    And their dated snapshots: the shutdown at the top of this page.

    OpenAI deprecations
  13. OpenAI

    Shuts down in 89 days
    • gpt-realtime
    • gpt-realtime-mini
    • gpt-4o-realtime
    • gpt-4o-mini-realtime
    • gpt-audio
    • gpt-audio-mini
    • gpt-4o-audio
    • gpt-4o-mini-audio
    • gpt-4o-mini-transcribe-2025-03-20

    Replacement: gpt-realtime-2.1, gpt-realtime-2.1-mini or gpt-audio-1.5, listed per model; gpt-4o-mini-transcribe-2025-12-15 for the transcription snapshot

    OpenAI deprecations
5 more dates, to 1 Apr 2027
  1. Google Cloud

    In 97 days at the earliest
    • gemini-3.7-flash

    Replacement: gemini-3.8-flash

    Google Cloud only. On the Gemini API, requests to gemini-3.7-flash already go to gemini-3.8-flash.

    Google Cloud model versions
  2. OpenAI

    Shuts down in 126 days
    • whisper-1
    • gpt-4o-transcribe
    • gpt-4o-mini-transcribe
    • gpt-4o-transcribe-diarize

    Replacement: gpt-live-transcribe or gpt-transcribe

    OpenAI deprecations
  3. Gemini API and Google Cloud

    In 143 days at the earliest
    • gemini-2.5-flash-image

    Replacement: gemini-3.1-flash-lite-image

    Google Cloud gives the same date as a date it retires no earlier than.

    Gemini API deprecations
  4. Google Cloud

    In 160 days at the earliest
    • text-embedding-005
    • text-embedding-004
    • text-multilingual-embedding-002
    • multimodalembedding@001

    Replacement: None listed

    New embeddings mean re-embedding what you stored.

    Google Cloud model versions
  5. OpenAI

    Shuts down in 160 days
    • gpt-5.1
    • gpt-5.3-codex
    • gpt-5.4-nano

    Replacement: gpt-6-sol for gpt-5.1 and gpt-5.3-codex; gpt-6-luna for gpt-5.4-nano

    OpenAI deprecations

Changing the model name isn’t enough.

gpt-6-luna runs at medium reasoning effort unless a request sets one, so it can reason; gpt-4o and gpt-4.1 answered without a reasoning step. Some arguments that worked on them fail on gpt-6-luna. These are the results of Chat Completions calls to gpt-6-luna on 18 Oct 2026.

Arguments on gpt-6-luna, Chat Completions, checked 18 Oct 2026
ArgumentOn gpt-6-lunaWhat to change
max_tokens400, with or without reasoning_effort: "none". max_completion_tokens works.Rename it to max_completion_tokens with the same value. If the model reasons, that limit covers its reasoning tokens too, so a small one can run out before any visible text.
temperature0.2 without reasoning_effort: 400, “Only the default (1) value is supported.” At "none" it works.The reasoning choice below.
top_p, logprobs, top_logprobsWork at "none". They weren’t sent without it; OpenAI’s GPT-6 guide says to remove them when the effort isn’t none.The reasoning choice below.
tools, functionsFunction tools: 400 without reasoning_effort, and they work at "none". The older functions worked at "none" (the call didn’t set function_call); they weren’t sent without it.The reasoning choice below. Removing them stops the app’s tool calls.
stop, logit_bias400 at reasoning_effort: "none". They weren’t sent without it.Not supported. Rework the call by hand.

Also on gpt-6-luna at "none": prediction returned 400, and presence_penalty and frequency_penalty returned a server error on all 8 attempts, so treat them as unsupported. n and seed worked.

The reasoning choice belongs to each repository.

Keep reasoning off

Add reasoning_effort="none" and keep temperature, top_p, logprobs and tools. Closest to how the old models answered, though how close hasn’t been measured yet.

Let the model reason

Set no effort (medium by default) and remove those arguments. When it reasons, calls are slower, reasoning tokens are billed as output tokens and count against max_completion_tokens, and answers can change. How much it reasons on real prompts hasn’t been measured yet. Without tools the app’s tool calls stop; reasoning with tools needs the Responses API, which is more than a model change.

Arbor reports both options and never picks one for you; the max_tokens rename goes in with the option a repository picks. Per token, gpt-6-luna costs less than gpt-4o, gpt-4o-mini, gpt-4.1 and gpt-4.1-mini. It is also OpenAI’s most efficient tier, where gpt-4o and gpt-4.1 were flagship models, so answer quality can change either way.

Scope: Chat Completions calls to gpt-6-luna on 18 Oct 2026. The Responses API wasn’t called, and other models can differ.

Check your code free.

arbor retirements lists the Python calls that name a retired or retiring model through the openai, anthropic or Google SDKs, with the listed replacement, the arguments that change with it and the choices to make first. No account or API key.

Terminal
npx --allow-scripts=@anandb71/arbor-cli @anandb71/arbor-cli@latest retirements .

--allow-scripts lets npm run the package’s install script, which downloads the Arbor binary: npm 12 skips install scripts it isn’t told to allow. @latest keeps npx from running an older copy installed earlier. Or, with Arbor 3.1.0 or later installed: arbor retirements .

Example report, run on 18 Oct 2026, shortened
$ arbor retirements .
Model retirements in . (1 Python file checked)

1 call uses a model Anthropic shut down on 28 Oct 2025
  app/chat.py:33  claude-3-5-sonnet-20241022 → claude-sonnet-5-5
                  decide: think only between tools (add thinking={"type": "between_tools"}) or let the model think (no change)
  ...

3 calls use models OpenAI shuts down on 14 Jan 2027 (88 days)
  app/chat.py:12  gpt-4o (MODEL, line 8) → gpt-6-luna
                  also change: max_tokens → max_completion_tokens
                  decide: keep reasoning off (add reasoning_effort="none"; keep temperature) or let the model reason (remove temperature)
  app/chat.py:21  gpt-4o-mini (line 22) → gpt-6-luna  fallback of an environment or config lookup: confirm the deployed value
                  decide: keep reasoning off (add reasoning_effort="none") or let the model reason (no change)
                  check: stop and logit_bias are not supported on gpt-6-luna (400).
  app/chat.py:29  gpt-4.1 → gpt-6-luna
                  decide: keep reasoning off (add reasoning_effort="none"; keep tools) or let the model reason (remove tools)
  ...

Not checked: 1 call takes the model from somewhere Arbor cannot read (an environment variable, a function argument, another module); arbor usages lists it.
Not listed: 1 call reaches these models through Azure, another host in base_url or another cloud, where the provider's dates may not apply. Add --include-routed to list it.
Summary: 4 calls in 1 file use retired or retiring models: 1 already retired, 3 retiring (next: 14 Jan 2027, 88 days).
3 can move once this repo makes the choice shown under decide; 1 needs a manual check.
Failing (exit 1): 1 call uses a model that is already retired.

In CI

.github/workflows/model-retirements.yml
name: Model retirements
on: [pull_request]

jobs:
  retirements:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: Anandb71/arbor@v3.1.0
        with:
          mode: retirements
          # retirements-fail-on: retired   # or a number of days, e.g. 90

The job summary lists every call, and affected lines get warnings, up to the 10 GitHub shows per step. By default the step only warns, even about retired models: set retirements-fail-on to retired or to a number of days to make it fail. It always fails if the check can’t run.

Languages
Python today. TypeScript and JavaScript are coming.
Calls
Direct SDK calls: openai, anthropic, google-genai and google-generativeai. Wrappers such as LangChain, LlamaIndex and LiteLLM are coming.
Routing
Calls through Azure OpenAI, Bedrock, OpenRouter or a proxy in base_url are counted apart: the providers’ dates may not apply there.
Not read
Model IDs in .env, YAML, JSON or notebooks. A model passed in from an environment variable or another module is counted as not checked.
Data
283 entries (276 model IDs) from the providers’ deprecation pages, changelogs and models API, bundled into the CLI. Update Arbor for newer dates.
Privacy
It runs on your machine and makes no network requests: no code leaves it, and there is no telemetry. npx first downloads the CLI: the package from npm, then its binary from Arbor’s GitHub releases.
Read the full guide

Want Arbor to open the fix PRs?

Arbor is building a beta that opens the pull request for you: the listed replacement, the argument changes that go with it, and the choices left for your repository to make. A person reviews and merges it. Leave your email and we’ll write when the beta opens for your repos.

Model retirements: gpt-4o and gpt-4.1 shut down 14 Jan 2027 | Arbor