@langchain/openai breaking changes
Every breaking API change we have recorded in @langchain/openai on npm: 41 breaking changes in 3 versions. Below are its newest 3 versions, removals and renames first, each with its source.
Newest change July 15, 2025

On this page
0.6.0
- Removed
ChatOpenAICallOptions.reasoning_effort
Use reasoning instead. npmjs.com - Removed
ChatOpenAICallOptions.stream_options.include_usage
ChatOpenAICallOptions.stream_options.include_usage was removed in @langchain/openai 0.6.0 npmjs.com - Removed
ChatOpenAIStructuredOutputMethodOptions
ChatOpenAIStructuredOutputMethodOptions was removed in @langchain/openai 0.6.0 npmjs.com - Removed
OpenAIChatInput.reasoningEffort
Use reasoning instead. npmjs.com - Signature changed
_convertMessagesToOpenAIParams
Was function _convertMessagesToOpenAIParams(messages: BaseMessage[], model?: string): OpenAICompletionParam[]; now function _convertMessagesToOpenAIParams(messages: BaseMessage[], model?: string)... npmjs.com - Signature changed
ChatOpenAI
Was class ChatOpenAI<CallOptions extends ChatOpenAICallOptions = ChatOpenAICallOptions> extends BaseChatModel<CallOptions, AIMessageChunk> implements Partial<OpenAIChatInput>; now class ChatOpenAI<CallOptions extends ChatOpenAICallOptions... npmjs.com - Signature changed
ChatOpenAI.service_tier
Was service_tier?: ResponsesCreateParams["service_tier"]; now service_tier?: OpenAIClient.Chat.ChatCompletionCreateParams["service_tier"]. npmjs.com - Signature changed
ChatOpenAI.withStructuredOutput
Was withStructuredOutput<RunOutput extends Record<string, any> = Record<string, any>>(outputSchema: InteropZodType<RunOutput> | Record<string, any>, config?: ChatOpenAIStructuredOutputMethodOptions<boolean>)... npmjs.com - Signature changed
ChatOpenAICallOptions
Was interface ChatOpenAICallOptions extends OpenAICallOptions, BaseFunctionCallOptions; now type ChatOpenAICallOptions = ChatOpenAICompletionsCallOptions & ChatOpenAIResponsesCallOptions. npmjs.com - Signature changed
ChatOpenAICallOptions.include
Was include?: ResponsesCreateParams["include"]; now include?: OpenAIClient.Responses.ResponseCreateParams["include"]. npmjs.com
And 7 more in this version.
0.5.0
- Signature changed
ChatOpenAI.n
Was n: number; now n?: number. npmjs.com
0.4.0
- Removed
LegacyOpenAIInput
LegacyOpenAIInput was removed in @langchain/openai 0.4.0 npmjs.com - Removed
OpenAIChat
Use ChatOpenAI instead. npmjs.com - Removed
OpenAIChatCallOptions
OpenAIChatCallOptions was removed in @langchain/openai 0.4.0 npmjs.com - Signature changed
AzureChatOpenAI.constructor
Was constructor(fields?: Partial<OpenAIChatInput> & Partial<AzureOpenAIInput> & {openAIApiKey?: string; openAIApiVersion?: string; openAIBasePath?: string; deploymentName?: string;} & BaseChatModelParams & {configuration?: ClientOptions &... npmjs.com - Signature changed
AzureOpenAI.constructor
Was constructor(fields?: Partial<OpenAIInput> & {openAIApiKey?: string; openAIApiVersion?: string; openAIBasePath?: string; deploymentName?: string;} & Partial<AzureOpenAIInput> & BaseLLMParams & {configuration?: ClientOptions &... npmjs.com - Signature changed
AzureOpenAIEmbeddings.constructor
Was constructor(fields?: Partial<OpenAIEmbeddingsParams> & Partial<AzureOpenAIInput> & {verbose?: boolean; apiKey?: string; configuration?: ClientOptions; deploymentName?: string; openAIApiVersion?: string;}, configuration?: ClientOptions... npmjs.com - Signature changed
ChatOpenAI
Was class ChatOpenAI<CallOptions extends ChatOpenAICallOptions = ChatOpenAICallOptions> extends BaseChatModel<CallOptions, AIMessageChunk> implements OpenAIChatInput, AzureOpenAIInput; now class ChatOpenAI<CallOptions extends... npmjs.com - Signature changed
ChatOpenAI.constructor
Was constructor(fields?: ChatOpenAIFields, configuration?: ClientOptions & LegacyOpenAIInput); now constructor(fields?: ChatOpenAIFields). npmjs.com - Signature changed
ChatOpenAI.frequencyPenalty
Was frequencyPenalty: number; now frequencyPenalty?: number. npmjs.com - Signature changed
ChatOpenAI.presencePenalty
Was presencePenalty: number; now presencePenalty?: number. npmjs.com
And 13 more in this version.
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The API reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

Put your code on continuous management.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp