Migrating to pnpm v11.0.0-alpha.5
Version v11.0.0-alpha.5 introduces 13 breaking changes. This guide details how to update your code.
Released: 2/17/2026
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
`pnpm config get``pnpm config list``onlyBuiltDependencies``onlyBuiltDependenciesFile``neverBuiltDependencies``ignoredBuiltDependencies``allowBuilds``allowNonAppliedPatches``ignorePatchFailures``pnpm server``useNodeVersion``executionEnv.nodeVersion``hooks.fetchers``fetchers` (in pnpmfile)`pnpm-workspace.yaml` (configuration structure)`pnpm add` flags (-p, -d)`pnpm publish` OTP readingStore index file formatStore internal cache format`pnpm why` output formatBreaking Changes
●Issue #1
The `pnpm config get` command (without `--json`) no longer outputs INI formatted text. It now outputs JSON for objects/arrays and raw strings for primitives. If you relied on INI output, you must now use `pnpm config get --json` or adjust parsing logic.
●Issue #2
The `pnpm config list` command now outputs a JSON object instead of INI formatted text. Adjust parsing logic if relying on INI output.
●Issue #3
pnpm no longer loads non-auth and non-registry settings from rc files. These settings must now be defined in `pnpm-workspace.yaml`.
●Issue #4
Workspace project specific `.npmrc` files are replaced by the `packageConfigs` field in `pnpm-workspace.yaml`. Migrate configuration from project-level `.npmrc` files to `packageConfigs` in the workspace manifest.
●Issue #5
Deprecated build dependency settings (`onlyBuiltDependencies`, `onlyBuiltDependenciesFile`, `neverBuiltDependencies`, and `ignoredBuiltDependencies`) have been removed. Use the `allowBuilds` setting instead.
●Issue #6
The deprecated `allowNonAppliedPatches` option is completely removed in favor of `allowUnusedPatches`.
●Issue #7
The `ignorePatchFailures` option is removed; all patch application failures will now throw an error.
●Issue #8
The `pnpm server` command has been removed.
●Issue #9
Support for `useNodeVersion` and `executionEnv.nodeVersion` fields is removed. Use `devEngines.runtime` and `engines.runtime` instead.
●Issue #10
Support for `hooks.fetchers` is removed. Use the new API via the `fetchers` field of `pnpmfile`.
●Issue #11
The default value for the `type` field in `package.json` created by `pnpm init` is now `module` (ESM).
●Issue #12
The meaning of short flags for `pnpm add` has changed: `-p` is now an alias for `--save-prod` (was `--parseable`), and `-d` is now an alias for `--save-dev` (was `--loglevel=info`).
●Issue #13
The One-time Password feature for `pnpm publish` now reads from `PNPM_CONFIG_OTP` instead of `NPM_CONFIG_OTP`.
Migration Steps
- 1If you relied on INI output from `pnpm config get` (without arguments), switch to using `pnpm config get --json` or update parsing logic.
- 2Migrate configuration settings previously defined in project-level `.npmrc` files to the `packageConfigs` field within `pnpm-workspace.yaml`.
- 3Replace usages of deprecated build dependency settings (`onlyBuiltDependencies`, etc.) with the `allowBuilds` map in configuration files.
- 4Replace usages of `allowNonAppliedPatches` with `allowUnusedPatches`.
- 5If you used `pnpm server`, remove it from scripts.
- 6Replace usage of `useNodeVersion` or `executionEnv.nodeVersion` with `devEngines.runtime` or `engines.runtime` in configuration.
- 7If you used `hooks.fetchers` in `pnpmfile`, migrate to using the `fetchers` field.
- 8If using `pnpm publish` and relying on OTP, export the OTP value using the `PNPM_CONFIG_OTP` environment variable.
- 9If you used short flags `-p` or `-d` with `pnpm add`, be aware they now correspond to `--save-prod` and `--save-dev` respectively.
Release Summary
This major release introduces significant performance improvements by switching internal store formats to MessagePack and optimizing index storage. It also brings substantial changes to configuration handling, replacing INI formats with JSON for config commands and standardizing workspace configuration via `pnpm-workspace.yaml`.
Need More Details?
View the full release notes and all changes for pnpm v11.0.0-alpha.5.
View Full Changelog