Change8

Migrating to pnpm v12.0.0-alpha.17

Version v12.0.0-alpha.17 introduces 2 breaking changes. This guide details how to update your code.

Released: 7/20/2026

2
Breaking Changes
2
Migration Steps
11
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

`pnpm list``pnpm why``pnpm install``pnpm add``pnpm update``pnpm remove``pnpm fetch``pnpm-workspace.yaml``pnpm-lock.yaml`Command shimsVirtual store

Breaking Changes

Issue #1

The `enableModulesDir: false` setting now correctly prevents the creation of a `node_modules` directory, unless the global virtual store is enabled. Previously, this setting might not have been fully honored in all scenarios.

Issue #2

Command shims now set `NODE_PATH` in a new way, reflecting the isolated `nodeLinker` with a hoist pattern. This might affect how Node.js resolves modules from shims if your project relies on specific `NODE_PATH` configurations. The new `extendNodePath: false` setting can be used to disable this behavior.

Migration Steps

  1. 1
    If you were relying on `node_modules` being created when `enableModulesDir: false`, you may need to adjust your setup if you are not using the global virtual store.
  2. 2
    Review your `NODE_PATH` configurations if your project relies on specific module resolution paths from command shims. Consider using `extendNodePath: false` if the new behavior is problematic.

Release Summary

This release enhances pnpm's Git dependency handling, brings `pnpm list` and `pnpm why` to feature parity, and introduces new settings for workspace and dependency management. It also includes several bug fixes for build processes, dependency resolution, and engine checks.

Need More Details?

View the full release notes and all changes for pnpm v12.0.0-alpha.17.

View Full Changelog