pnpm 12 is stable. It is a rewrite of pnpm in Rust, and it is deliberately not a migration: the commands, flags, settings, and lockfile format of pnpm 11 all carry over, and the documentation describes both versions. The short list of things that genuinely behave differently is in What's different in pnpm 12 . This post covers what pnpm 12 adds that pnpm 11 never shipped. Installing it latest on npm still points at the pnpm 11 line, so pnpm 12 is installed from the next-12 tag: See Installing pnpm 12 for the other ways, including without Node.js. Homebrew, winget, Scoop, and Chocolatey don't offer it yet. Breaking changes Git dependencies are identities For repositories on GitHub, GitLab, and Bitbucket, a specifier now names a repository rather than choosing a transport. github:owner/repo , owner/repo , git+https://… , and git+ssh://git@… all resolve through the host's canonical HTTPS URL, and the lockfile never records an SSH URL for those hosts.…