#805·np

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

  1. In an existing package that you can publish to npm, use pnpm 11.25.0 via devEngines.packageManager:

    json
    {
      "name": "@scope/package",
      "version": "9.0.13",
      "devEngines": {
        "packageManager": {
          "name": "pnpm",
          "version": "11.25.0",
          "onFail": "download"
        }
      }
    }
  2. Confirm the pnpm version:

    bash
    $ pnpm --version
    11.25.0
  3. Run np --yolo and observe the publishing failure with ERR_PNPM_OTP_NON_INTERACTIVE

    bash
    $ 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)