---
title: "chokidar Breaking Changes on npm | Since.dev"
description: "What each chokidar release removed, renamed or changed: 43 breaking changes in 2 versions on npm, each with its source."
canonical_url: https://since.dev/packages/npm/chokidar
last_updated: 2026-10-19
---

# chokidar breaking changes

Every breaking API change we have recorded in chokidar on npm: 43 breaking changes in 2 versions. Below are its newest 2 versions, removals and renames first, each with its source.

Newest change October 19, 2026

## 6.0.0

37 breaking changes, first published October 19, 2026.

- **Removed** `fs.watchFile`  

Chokidar no longer uses fs.watchFile for polling; it uses its own stat polling loops. [github.com](https://github.com/paulmillr/chokidar/releases/tag/6.0.0)
- **Removed** `handler.js:EMPTY_FN`  

EMPTY_FN was removed in chokidar 6.0.0 [npmjs.com](https://www.npmjs.com/package/chokidar/v/6.0.0)
- **Removed** `handler.js:EventName`  

EventName was removed in chokidar 6.0.0 [npmjs.com](https://www.npmjs.com/package/chokidar/v/6.0.0)
- **Removed** `handler.js:EVENTS`  

EVENTS was removed in chokidar 6.0.0 [npmjs.com](https://www.npmjs.com/package/chokidar/v/6.0.0)
- **Removed** `handler.js:FsWatchContainer`  

FsWatchContainer was removed in chokidar 6.0.0 [npmjs.com](https://www.npmjs.com/package/chokidar/v/6.0.0)
- **Removed** `handler.js:IDENTITY_FN`  

IDENTITY_FN was removed in chokidar 6.0.0 [npmjs.com](https://www.npmjs.com/package/chokidar/v/6.0.0)
- **Removed** `handler.js:isFreeBSD`  

isFreeBSD was removed in chokidar 6.0.0 [npmjs.com](https://www.npmjs.com/package/chokidar/v/6.0.0)
- **Removed** `handler.js:isIBMi`  

isIBMi was removed in chokidar 6.0.0 [npmjs.com](https://www.npmjs.com/package/chokidar/v/6.0.0)
- **Removed** `handler.js:isLinux`  

isLinux was removed in chokidar 6.0.0 [npmjs.com](https://www.npmjs.com/package/chokidar/v/6.0.0)
- **Removed** `handler.js:isMacos`  

isMacos was removed in chokidar 6.0.0 [npmjs.com](https://www.npmjs.com/package/chokidar/v/6.0.0)

And 27 more in this version.

## 5.0.0

6 breaking changes, first published November 25, 2025.

- **Removed**  

Node.js versions older than v20.19 are no longer supported; upgrade Node.js before using this release. [github.com](https://github.com/paulmillr/chokidar/releases/tag/5.0.0)
- **Removed** `FSWatcherKnownEventMap`  

FSWatcherKnownEventMap was removed in chokidar 5.0.0 [npmjs.com](https://www.npmjs.com/package/chokidar/v/5.0.0)
- **Configuration changed**  

The package is now ESM-only, so CommonJS require() of it no longer works; users must use import. Node.js must be v20.19 or later, which supports loading ESM from CJS. [github.com](https://github.com/paulmillr/chokidar/releases/tag/5.0.0)
- **Signature changed** `FSWatcherEventMap`  

Was type FSWatcherEventMap = FSWatcherKnownEventMap & {\[k in Exclude<EventName, keyof FSWatcherKnownEventMap>\]: EmitArgs;}; now interface FSWatcherEventMap. [npmjs.com](https://www.npmjs.com/package/chokidar/v/5.0.0)
- **Signature changed** `handler.js:NodeFsHandler._handleDir`  

Was \_handleDir(dir: string, stats: Stats, initialAdd: boolean, depth: number, target: string, wh: WatchHelper, realpath: string): Promise<(() => void) | undefined>; now \_handleDir(dir: string, stats: Stats, initialAdd: boolean, depth... [npmjs.com](https://www.npmjs.com/package/chokidar/v/5.0.0)
- **Signature changed** `handler.js:NodeFsHandler._handleRead`  

Was \_handleRead(directory: string, initialAdd: boolean, wh: WatchHelper, target: Path, dir: Path, depth: number, throttler: Throttler): Promise<unknown> | undefined; now \_handleRead(directory: string, initialAdd: boolean, wh: WatchHelper... [npmjs.com](https://www.npmjs.com/package/chokidar/v/5.0.0)

## 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.
