---
title: "openai Breaking Changes on npm | Since.dev"
description: "What each openai release removed, renamed or changed: 572 breaking changes in 3 versions on npm, each with its source."
canonical_url: https://since.dev/packages/npm/openai
last_updated: 2026-07-27
---

# 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

## 7.0.0

1 breaking change, first published July 27, 2026.

- **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](https://github.com/openai/openai-node/releases/tag/v7.0.0)

## 6.0.0

11 breaking changes, first published September 30, 2025.

- **Signature changed** `AzureOpenAI.Responses.ResponseCustomToolCallOutput.output`  

Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. [npmjs.com](https://www.npmjs.com/package/openai/v/6.0.0)
- **Signature changed** `AzureOpenAI.Responses.ResponseFunctionToolCallOutputItem.output`  

Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. [npmjs.com](https://www.npmjs.com/package/openai/v/6.0.0)
- **Signature changed** `AzureOpenAI.Responses.ResponseInputItem.FunctionCallOutput.output`  

Was output: string; now output: string | ResponsesAPI.ResponseFunctionCallOutputItemList. [npmjs.com](https://www.npmjs.com/package/openai/v/6.0.0)
- **Signature changed** `default.Responses.ResponseCustomToolCallOutput.output`  

Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. [npmjs.com](https://www.npmjs.com/package/openai/v/6.0.0)
- **Signature changed** `default.Responses.ResponseFunctionToolCallOutputItem.output`  

Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. [npmjs.com](https://www.npmjs.com/package/openai/v/6.0.0)
- **Signature changed** `default.Responses.ResponseInputItem.FunctionCallOutput.output`  

Was output: string; now output: string | ResponsesAPI.ResponseFunctionCallOutputItemList. [npmjs.com](https://www.npmjs.com/package/openai/v/6.0.0)
- **Signature changed** `OpenAI.Responses.ResponseCustomToolCallOutput.output`  

Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. [npmjs.com](https://www.npmjs.com/package/openai/v/6.0.0)
- **Signature changed** `OpenAI.Responses.ResponseFunctionToolCallOutputItem.output`  

Was output: string; now output: string | Array<ResponseInputText | ResponseInputImage | ResponseInputFile>. [npmjs.com](https://www.npmjs.com/package/openai/v/6.0.0)
- **Signature changed** `OpenAI.Responses.ResponseInputItem.FunctionCallOutput.output`  

Was output: string; now output: string | ResponsesAPI.ResponseFunctionCallOutputItemList. [npmjs.com](https://www.npmjs.com/package/openai/v/6.0.0)
- **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](https://github.com/openai/openai-node/releases/tag/v6.0.0)

And 1 more in this version.

## 5.0.0

560 breaking changes, first published May 29, 2025.

- **Removed**  

Support for end-of-life Node.js versions is dropped; users on those versions must upgrade Node.js. [github.com](https://github.com/openai/openai-node/releases/tag/v5.0.0)
- **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](https://github.com/openai/openai-node/releases/tag/v5.0.0)
- **Removed** `client.files.retrieveContent`  

client.files.retrieveContent is gone in v5.0.0; code calling it must change. [github.com](https://github.com/openai/openai-node/blob/v4.104.0/api.md)
- **Renamed** `client.beta.assistants.del`  

Call client.beta.assistants.delete instead of del. [github.com](https://github.com/openai/openai-node/blob/v5.0.0/api.md)
- **Renamed** `client.beta.threads.del`  

Call client.beta.threads.delete instead of del. [github.com](https://github.com/openai/openai-node/blob/v5.0.0/api.md)
- **Renamed** `client.chat.completions.del`  

Call client.chat.completions.delete instead of del. [github.com](https://github.com/openai/openai-node/blob/v5.0.0/api.md)
- **Renamed** `client.containers.del`  

Call client.containers.delete instead of del. [github.com](https://github.com/openai/openai-node/blob/v5.0.0/api.md)
- **Renamed** `client.evals.del`  

Call client.evals.delete instead of del. [github.com](https://github.com/openai/openai-node/blob/v5.0.0/api.md)
- **Renamed** `client.files.del`  

Call client.files.delete instead of client.files.del. [github.com](https://github.com/openai/openai-node/blob/v5.0.0/api.md)
- **Renamed** `client.fineTuning.checkpoints.permissions.del`  

Call the delete method instead of del, and pass the new arguments shown in api.md. [github.com](https://github.com/openai/openai-node/blob/v5.0.0/api.md)

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](https://since.dev/scan.md), or have your coding agent call `check_code` with your manifest or lockfile over [MCP](https://since.dev/docs.md#mcp). [The API](https://since.dev/docs.md#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.

[Scan a repository](https://since.dev/scan.md). Any public GitHub repository. No sign-in.

### Tell your agent what changed since it was trained.

`claude mcp add --transport http since https://api.since.dev/mcp`

---

Every page on this site as Markdown: https://since.dev/sitemap.md. For agents: https://since.dev/llms.txt.
