openai breaking changes
Every breaking API change we have recorded in openai on npm: 572 breaking changes in 3 versions. Below are its newest 3 versions, removals and renames first, each with its source.
Newest change July 27, 2026

On this page
7.0.0
- Removed
The package now requires Node.js 22 or later, so older Node.js versions are no longer supported. Upgrade Node.js to 22 or later before updating. github.com
6.0.0
- Signature changed
AzureOpenAI.Responses.ResponseCustomToolCallOutput.output
Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. npmjs.com - Signature changed
AzureOpenAI.Responses.ResponseFunctionToolCallOutputItem.output
Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. npmjs.com - Signature changed
AzureOpenAI.Responses.ResponseInputItem.FunctionCallOutput.output
Was output: string; now output: string | ResponsesAPI.ResponseFunctionCallOutputItemList. npmjs.com - Signature changed
default.Responses.ResponseCustomToolCallOutput.output
Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. npmjs.com - Signature changed
default.Responses.ResponseFunctionToolCallOutputItem.output
Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. npmjs.com - Signature changed
default.Responses.ResponseInputItem.FunctionCallOutput.output
Was output: string; now output: string | ResponsesAPI.ResponseFunctionCallOutputItemList. npmjs.com - Signature changed
OpenAI.Responses.ResponseCustomToolCallOutput.output
Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. npmjs.com - Signature changed
OpenAI.Responses.ResponseFunctionToolCallOutputItem.output
Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. npmjs.com - Signature changed
OpenAI.Responses.ResponseInputItem.FunctionCallOutput.output
Was output: string; now output: string | ResponsesAPI.ResponseFunctionCallOutputItemList. npmjs.com - Signature changed
ResponseCustomToolCallOutput.output
The output field now returns either a string or an array of input text, image or file parts. Code that assumes output is always a string must handle the array form. github.com
And 1 more in this version.
5.0.0
- Removed
Support for end-of-life Node.js versions is dropped; users on those versions must upgrade Node.js. github.com - Removed
client.beta.chat.completions.runFunctions
The deprecated runFunctions method is removed in favor of the tools-based helpers; users must switch to the replacement helpers. github.com - Removed
client.files.retrieveContent
client.files.retrieveContent is gone in v5.0.0; code calling it must change. github.com - Renamed
client.beta.assistants.del
Call client.beta.assistants.delete instead of del. github.com - Renamed
client.beta.threads.del
Call client.beta.threads.delete instead of del. github.com - Renamed
client.chat.completions.del
Call client.chat.completions.delete instead of del. github.com - Renamed
client.containers.del
Call client.containers.delete instead of del. github.com - Renamed
client.evals.del
Call client.evals.delete instead of del. github.com - Renamed
client.files.del
Call client.files.delete instead of client.files.del. github.com - Renamed
client.fineTuning.checkpoints.permissions.del
Call the delete method instead of del, and pass the new arguments shown in api.md. github.com
And 550 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