pnpm 11 publish fails with `ERR_PNPM_OTP_NON_INTERACTIVE`
Author: karlhorkyCreated Sep 5, 2026Updated Sep 5, 2026
Description
Since pnpm 11, pnpm publish uses pnpm's native publishing flow and handles authentication itself:
https://pnpm.io/blog/releases/11.0#native-publish-flow-no-more-npm-cli-fallback
With pnpm 11.25.0, publishing through np fails with ERR_PNPM_OTP_NON_INTERACTIVE because pnpm detects a non-interactive terminal.
Steps to reproduce
In an existing package that you can publish to npm, use pnpm 11.25.0 via
devEngines.packageManager:{ "name": "@scope/package", "version": "9.0.13", "devEngines": { "packageManager": { "name": "pnpm", "version": "11.25.0", "onFail": "download" } } }Confirm the pnpm version:
$ pnpm --version 11.25.0Run
np --yoloand observe the publishing failure withERR_PNPM_OTP_NON_INTERACTIVE$ np --yolo Publish a new version of @scope/package (current: 9.0.13) ✔ Prerequisite check ✔ Git ✔ Bumping version ✔ Prerequisite check ✔ Git ✔ Bumping version ✖ Publishing package → The project was rolled back to its previous state. Pushing tags Creating release draft on GitHub ✖ Error: Error publishing package: Command failed with exit code 1: pnpm publish --no-git-checks @scope/[email protected] → https://registry.npmjs.org/ [ERR_PNPM_OTP_NON_INTERACTIVE] The registry requires additional authentication, but pnpm is not running in an interactive terminal Re-run this command in an interactive terminal to complete authentication, or provide the --otp option if you are using a classic one-time password (OTP) The project was rolled back to its previous state. at file:///<redacted>/node_modules/np/source/index.js:268:45 at Observable.init [as _subscribe] (<redacted>/rxjs/dist/cjs/internal/observable/throwError.js:8:64) ...
Expected behavior
np works with pnpm v11+
Environment
np - 12.0.1 pnpm - 11.25.0 npm - 11.6.2 Git - 2.50.1 OS - macOS Tahoe 26.6.2 (25G83)
Source: sindresorhus/np