Submission checklist
Package (Required)
Related Issues / PRs
No response
Reproduction Steps / Example Code (Python)
from langchain_openai import ChatOpenAI, OpenAI
# No model given, so the class defaults are used.
OpenAI().invoke("Say hi") # default "gpt-3.5-turbo-instruct": OpenAI shut it down on September 28, 2026
ChatOpenAI().invoke("Say hi") # default "gpt-3.5-turbo": OpenAI shuts it down on October 23, 2026
Error Message and Stack Trace (if applicable)
Description
Both classes default to models OpenAI is retiring, so anyone who doesn't pass model gets an error:
OpenAI (completions): model_name: str = Field(default="gpt-3.5-turbo-instruct", alias="model"), llms/base.py:176. OpenAI shut gpt-3.5-turbo-instruct down on September 28, 2026.
ChatOpenAI: model_name: str = Field(default="gpt-3.5-turbo", alias="model"), chat_models/base.py:801. OpenAI shuts gpt-3.5-turbo down on October 23, 2026.
Source: https://developers.openai.com/api/docs/deprecations ("To improve reliability and make it easier for developers to choose the right models, we are deprecating a set of older OpenAI models"). OpenAI names gpt-5.6-terra as the replacement for both.
No error output is included: this was found by reading the code, not from a local run. OpenAI's deprecations page says access to these models is shut down on those dates.
Two things make this more than a one-line swap, which is why I'm asking before a pull request:
OpenAI uses the legacy Completions endpoint, and OpenAI's model page for gpt-5.6-terra lists the legacy Completions endpoint as "Not supported". So there may be no completions model to default to anymore; the choice is yours (a different default, no default, or a clear error).
gpt-5.6-terra is a reasoning model (OpenAI's model page: "Reasoning.effort supports: none, low, medium (default), high, xhigh, and max"). If ChatOpenAI's default moves to it, anything that relies on the default's behaviour with temperature or max_tokens may need care; OpenAI's API reference says max_tokens "is deprecated in favor of max_completion_tokens, and is not compatible with o-series models".
Happy to send the pull request once you've decided on the default and assigned it.
Found with YakBarber, a tool I'm building that tracks API retirements; both lines were checked on master on October 2, 2026 before filing.
System Info
Found by reading langchain-openai on master (October 2, 2026), not from a local install; happy to add python -m langchain_core.sys_info output if that helps.
Social handles (optional)
linkedin:https://www.linkedin.com/in/omar-shalaby-545726256
Website: yakbarber.com
Submission checklist
Package (Required)
Related Issues / PRs
No response
Reproduction Steps / Example Code (Python)
Error Message and Stack Trace (if applicable)
Description
Both classes default to models OpenAI is retiring, so anyone who doesn't pass
modelgets an error:OpenAI(completions):model_name: str = Field(default="gpt-3.5-turbo-instruct", alias="model"),llms/base.py:176. OpenAI shutgpt-3.5-turbo-instructdown on September 28, 2026.ChatOpenAI:model_name: str = Field(default="gpt-3.5-turbo", alias="model"),chat_models/base.py:801. OpenAI shutsgpt-3.5-turbodown on October 23, 2026.Source: https://developers.openai.com/api/docs/deprecations ("To improve reliability and make it easier for developers to choose the right models, we are deprecating a set of older OpenAI models"). OpenAI names
gpt-5.6-terraas the replacement for both.No error output is included: this was found by reading the code, not from a local run. OpenAI's deprecations page says access to these models is shut down on those dates.
Two things make this more than a one-line swap, which is why I'm asking before a pull request:
OpenAIuses the legacy Completions endpoint, and OpenAI's model page forgpt-5.6-terralists the legacy Completions endpoint as "Not supported". So there may be no completions model to default to anymore; the choice is yours (a different default, no default, or a clear error).gpt-5.6-terrais a reasoning model (OpenAI's model page: "Reasoning.effort supports: none, low, medium (default), high, xhigh, and max"). IfChatOpenAI's default moves to it, anything that relies on the default's behaviour withtemperatureormax_tokensmay need care; OpenAI's API reference saysmax_tokens"is deprecated in favor of max_completion_tokens, and is not compatible with o-series models".Happy to send the pull request once you've decided on the default and assigned it.
Found with YakBarber, a tool I'm building that tracks API retirements; both lines were checked on
masteron October 2, 2026 before filing.System Info
Found by reading langchain-openai on master (October 2, 2026), not from a local install; happy to add
python -m langchain_core.sys_infooutput if that helps.Social handles (optional)
linkedin:https://www.linkedin.com/in/omar-shalaby-545726256
Website: yakbarber.com