Direct answer: OpenAI is scheduled to shut down API access to gpt-3.5-turbo-instruct, babbage-002, davinci-002 and gpt-3.5-turbo-1106 on September 28, 2026. OpenAI names gpt-5.6-terra as the replacement for all four.[1] Search code, environment variables, deployment secrets and automation settings for the exact retiring IDs, move traffic behind a configurable model name, test output and error handling, then deploy before the cutoff.
Deadline checklist
- Find all four exact model IDs.
- Check code, environment variables, secret managers, cron jobs and workflow tools.
- Test
gpt-5.6-terrawith representative inputs. - Update request and output handling if the integration uses an older API shape.
- Deploy and remove retired-model fallbacks before September 28.
OpenAI models affected
| Retiring model ID | Shutdown date | OpenAI replacement |
|---|---|---|
gpt-3.5-turbo-instruct |
September 28, 2026 | gpt-5.6-terra |
babbage-002 |
September 28, 2026 | gpt-5.6-terra |
davinci-002 |
September 28, 2026 | gpt-5.6-terra |
gpt-3.5-turbo-1106 |
September 28, 2026 | gpt-5.6-terra |
The deadline concerns these four exact API model IDs, not a general shutdown of every model whose name contains GPT-3.5. Do not replace unrelated model names without checking OpenAI’s current schedule.[1]
Five-minute audit
Run this from each application repository:
git grep -nE 'gpt-3\.5-turbo-instruct|gpt-3\.5-turbo-1106|babbage-002|davinci-002'
Then check the deployment layer:
- environment variables such as
OPENAI_MODEL; - CI/CD variables and secret managers;
- serverless and container configuration;
- scheduled jobs, workflow builders and no-code automations;
- test fixtures, fallback chains and internal setup documents;
- model IDs stored in a database or admin panel.
Security note: do not print secret values while auditing. Search variable names and model values only.
Safe migration order
- Inventory every use of the four exact IDs.
- Identify the API shape used by each integration; old Completions, Chat Completions and Responses requests are not interchangeable.
- Put the replacement in configuration rather than scattering a literal model name through the codebase.
- Create representative tests for real prompts and expected outputs.
- Add useful monitoring for output validation, latency, token use and errors without recording sensitive prompt data.
- Test
gpt-5.6-terrain staging. - Run a controlled canary in production if time and architecture permit.
- Deploy and watch failures, latency, token use and output validation.
- Remove the retired fallback so a failed request cannot silently retry a dead model.
OpenAI describes GPT-5.6 Terra as a model that balances intelligence and cost.[2] A replacement is not guaranteed to reproduce old wording, token counts or formatting, so validation matters.
Minimal Python migration example
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5.6-terra",
input="Summarize this support ticket in three bullet points.",
)
print(response.output_text)
OpenAI recommends the Responses API for new projects and documents response.output_text as an SDK convenience property for aggregating text output.[3][4]
Minimal JavaScript migration example
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-5.6-terra",
input: "Summarize this support ticket in three bullet points.",
});
console.log(response.output_text);
Why a model-name swap may not be enough
gpt-3.5-turbo-instruct, babbage-002 and davinci-002 commonly appear in older completion-style integrations, while gpt-3.5-turbo-1106 commonly appears in chat-style code. OpenAI’s migration guide treats moving to Responses as changes to the request endpoint, output shape and conversation-state handling; function calls and Structured Outputs also use different request shapes.[3]
Check these before deploying:
- input field and message format;
- output parsing;
- system or developer instruction placement;
- function and tool calls;
- structured JSON validation;
- streaming event handling;
- multi-turn state;
- timeouts, retries and rate limits;
- token budgets and cost alerts.
Copy-paste deployment checklist
- ☐ Searched all repositories for the four exact IDs
- ☐ Checked environment variables, deployment settings and secret managers
- ☐ Checked cron jobs, workflow tools and no-code automations
- ☐ Replaced the model through configuration
- ☐ Updated request and response handling where required
- ☐ Tested normal, empty, long and malformed inputs
- ☐ Tested structured output or function calls if used
- ☐ Compared representative results with current production behavior
- ☐ Added monitoring and rollback configuration
- ☐ Removed retired-model fallbacks
- ☐ Deployed before September 28
Frequently asked questions
Which OpenAI models shut down on September 28, 2026?
gpt-3.5-turbo-instruct, babbage-002, davinci-002 and gpt-3.5-turbo-1106.[1]
What replacement does OpenAI recommend?
OpenAI lists gpt-5.6-terra for all four retiring model IDs.[1]
Does every GPT-3.5 model shut down on September 28?
No. The cited notice lists four exact model IDs. Audit exact strings and consult OpenAI’s live deprecations page for other models and dates.[1]
Can I change only the model name?
Sometimes a basic integration may need little more, but older completion-style code can require request and output changes. OpenAI recommends Responses for new projects and provides a migration guide covering endpoints, outputs, tools, structured data and state.[3][4]
Should I wait until requests fail?
No. Migrate and test before the cutoff so you can compare behavior and roll back configuration without a production outage.
Last checked: September 27, 2026. Deprecation schedules can change; confirm the live OpenAI deprecations page before deployment.
Official sources
- OpenAI API deprecations
- GPT-5.6 Terra model documentation
- Migrate to the Responses API
- OpenAI text generation guide