# What changed in @antfu/ni

> 32 changes in @antfu/ni 26 to 30 from its official release notes, upgrade guides and advisories: 2 breaking, 11 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@antfu/ni/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @antfu/ni 30

### Breaking changes

- Node.js >=20.19.0 is now required to use @antfu/ni. (30.0.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.0.0)

### New APIs and options

- Adds an existing mode that only reuses existing catalog entries. (30.6.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.6.0)
- Adds support for nub as a package manager. (30.6.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.6.0)
- Adds a flag to prefer local binaries. (30.4.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.4.0)
- Adds the --agent flag to print the detected package manager name. (30.1.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.1.0)
- Adds the ? dry-run flag to the --help output. (30.1.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.1.0)
- Adds the noLastCommand configuration option for nr. (30.1.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.1.0)

### Behavior and default changes

- Reuses the previous catalog choice when installing multiple packages. (30.4.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.4.0)

### Tooling

- Supports bun catalogs, allowing @antfu/ni to work with projects that use them. (30.5.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.5.0)
- Adds support for aube as a package manager. (30.4.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.4.0)
- Support yarn catalogs. (30.2.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.2.0)
- Dependencies in package.json are sorted alphabetically, making dependency lists consistent. (30.0.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.0.0)

### Fixes and other changes

- Splits name@version before using it as a catalog key. (30.6.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.6.0)
- Warns about unreadable and unrecognised .nirc options. (30.6.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.6.0)
- Reads package.json files written in JSONC. (30.6.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.6.0)
- Detection of --agent is non-interactive. (30.3.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.3.0)
- Preserves forwarded -p arguments. (30.3.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.3.0)
- System package manager binaries are preferred. (30.3.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.3.0)
- Fixes workspace flag parsing in the nr command. (30.1.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v30.1.0)

## @antfu/ni 29

### Tooling

- Adds support for pnpm catalogs. (29.0.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v29.0.0)

## @antfu/ni 28

### Breaking changes

- nun uses multi-select by default. (28.0.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v28.0.0)

### New APIs and options

- The CLI supports the --programmatic flag in its arguments. (28.3.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v28.3.0)
- Run tasks before agent detection. (28.2.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v28.2.0)

### Tooling

- Fish shell completion support was added for nr. (28.0.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v28.0.0)

### Fixes and other changes

- Prevent the agent prompt when using completion flags. (28.2.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v28.2.0)
- Corrects the command structure used by nr with node --run. (28.1.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v28.1.0)
- Pressing ESC now cancels nr in interactive mode. (28.0.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v28.0.0)

## @antfu/ni 27

### New APIs and options

- Adds the `nd` command. (27.0.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v27.0.0)
- Adds support for Node.js `--run` when using `nr`. (27.0.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v27.0.0)

### Fixes and other changes

- Ctrl+C is handled during interactive installs. (27.0.1) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v27.0.1)

## @antfu/ni 26

### New APIs and options

- Adds sfw integration, allowing developers to use ni with sfw. (26.2.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v26.2.0)

### Tooling

- Adds support for Bun's new interactive upgrade command. (26.2.0) — [release notes](https://github.com/antfu-collective/ni/releases/tag/v26.2.0)
