---
title: "@cloudflare/workers-types (npm) Breaking Changes | Since.dev"
description: "What each @cloudflare/workers-types release removed, renamed or changed: 51 breaking changes in 1 version on npm, each with its source."
canonical_url: https://since.dev/packages/npm/@cloudflare/workers-types
last_updated: 2026-07-03
---

# @cloudflare/workers-types breaking changes

Every breaking API change we have recorded in @cloudflare/workers-types on npm: 51 breaking changes in 1 version. Below are its newest version, removals and renames first, each with its source.

Newest change July 3, 2026

## 5.20260703.1

51 breaking changes, first published July 3, 2026.

- **Removed** `FetcherPutOptions`  

FetcherPutOptions was removed in @cloudflare/workers-types 5.20260703.1 [npmjs.com](https://www.npmjs.com/package/@cloudflare/workers-types/v/5.20260703.1)
- **Signature changed** `AiTextToImageOutput.locked`  

Was readonly locked: boolean; now locked: boolean. [npmjs.com](https://www.npmjs.com/package/@cloudflare/workers-types/v/5.20260703.1)
- **Signature changed** `BodyInit`  

Was type BodyInit = | ReadableStream<Uint8Array> | string | ArrayBuffer | ArrayBufferView | Blob | URLSearchParams | FormData; now type BodyInit = | ReadableStream<Uint8Array> | string | ArrayBuffer | ArrayBufferView | Blob |... [npmjs.com](https://www.npmjs.com/package/@cloudflare/workers-types/v/5.20260703.1)
- **Signature changed** `CloudflareWorkersModule.WorkflowStep.do`  

Was do<T extends Rpc.Serializable<T>>(name: string, config: WorkflowStepConfig, callback: (ctx: WorkflowStepContext) => Promise<T>, rollbackOptions?: WorkflowStepRollbackOptions<T>): Promise<T>; now do<T extends Rpc.Serializable<T>, const... [npmjs.com](https://www.npmjs.com/package/@cloudflare/workers-types/v/5.20260703.1)
- **Signature changed** `CloudflareWorkersModule.WorkflowStepConfig`  

Was type WorkflowStepConfig = {retries?: {limit: number; delay: WorkflowDelayDuration | number; backoff?: WorkflowBackoff;}; timeout?: WorkflowTimeoutDuration | number; sensitive?: WorkflowStepSensitivity;}; now type WorkflowStepConfig =... [npmjs.com](https://www.npmjs.com/package/@cloudflare/workers-types/v/5.20260703.1)
- **Signature changed** `CloudflareWorkersModule.WorkflowStepConfig.retries`  

Was retries?: {limit: number; delay: WorkflowDelayDuration | number; backoff?: WorkflowBackoff;}; now retries?: {limit: number; delay: WorkflowDelayDuration | number | WorkflowDelayFunction; backoff?: WorkflowBackoff;}. [npmjs.com](https://www.npmjs.com/package/@cloudflare/workers-types/v/5.20260703.1)
- **Signature changed** `CloudflareWorkersModule.WorkflowStepConfig.retries.delay`  

Was delay: WorkflowDelayDuration | number; now delay: WorkflowDelayDuration | number | WorkflowDelayFunction. [npmjs.com](https://www.npmjs.com/package/@cloudflare/workers-types/v/5.20260703.1)
- **Signature changed** `CloudflareWorkersModule.WorkflowStepContext`  

Was type WorkflowStepContext = {step: {name: string; count: number;}; attempt: number; config: WorkflowStepConfig;}; now type WorkflowStepContext<Delay = WorkflowDelayDuration | number> = {step: {name: string; count: number;}; attempt... [npmjs.com](https://www.npmjs.com/package/@cloudflare/workers-types/v/5.20260703.1)
- **Signature changed** `CloudflareWorkersModule.WorkflowStepContext.config`  

Was config: WorkflowStepConfig; now config: {retries?: {limit: number; backoff?: WorkflowBackoff;} & (Delay extends WorkflowDelayFunction ? {} : {delay: WorkflowDelayDuration | number;}); timeout?: WorkflowTimeoutDuration | number... [npmjs.com](https://www.npmjs.com/package/@cloudflare/workers-types/v/5.20260703.1)
- **Signature changed** `CloudflareWorkersModule.WorkflowStepRollbackConfig.retries`  

Was retries?: {limit: number; delay: WorkflowDelayDuration | number; backoff?: WorkflowBackoff;}; now retries?: {limit: number; delay: WorkflowDelayDuration | number | WorkflowDelayFunction; backoff?: WorkflowBackoff;}. [npmjs.com](https://www.npmjs.com/package/@cloudflare/workers-types/v/5.20260703.1)

And 41 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.
