Skip to content

[BUG] E401 error message does not use the configured registry #10014

Description

@kollinmurphy

Is there an existing issue for this?

  • I have searched the existing issues

This issue exists in the latest npm version

  • I am using the latest npm

This is not just a request to bump a dependency for a CVE

  • This is not solely a request to bump a dependency for a CVE

Current Behavior

When npm has a 401 error, it constructs an error message that suggests recovering your password. But this error message has a hard-coded https://npmjs.org link, which is misleading when the authentication error occurred with a private npm registry, not the default npmjs.org registry.

Expected Behavior

The error message should display a link to the root of the custom registry if it is set, and fall back to the default https://npmjs.org/forgot. Note the custom registry likely won't be able to point to a /forgot subpage, but defaulting to the root of the custom registry would be more clear.

The reasoning for this request is that it is confusing for developers experiencing auth errors to see a link to the public npm registry when our team exclusively uses an internal mirror.

Steps To Reproduce

  1. Set up a .npmrc to point to an npm registry that requires authentication
  2. Make an npm install WITHOUT authenticating
  3. It should return a 401 with the error
    npm error code E401
    npm error Incorrect or missing password.
    npm error If you were trying to login, change your password, create an authentication token or enable two-factor authentication then that means you likely typed your password in incorrectly.
    npm error Please try again, or recover your password at:
    npm error   https://www.npmjs.com/forgot
    npm error
    npm error If you were doing some other operation then your saved credentials are probably out of date.
    npm error To correct this please try logging in again with:
    npm error   npm login
    npm error A complete log of this run can be found in: /home/kmurphy/.npm/_logs/2026-09-22T16_19_31_269Z-debug-0.log
    

The source code for the hard-coded error message is at:

' https://www.npmjs.com/forgot',

Environment

  • npm: 12.0.1
  • Node.js: 26.10.0
  • OS Name: Ubuntu 24.04
  • System Model Name: all
  • npm config:
; "user" config from /home/kmurphy/.npmrc

; //artifactory.mydomain.com/artifactory/api/npm/my-npm-mirror/:_authToken = (protected) ; overridden by project

; "project" config from /home/kmurphy/dev/MyProject/MySubdir/.npmrc

//artifactory.mydomain.com/artifactory/api/npm/my-npm-mirror/:_authToken = (protected)
registry = "https://artifactory.mydomain.com/artifactory/api/npm/my-npm-mirror/"

; node bin location = /home/kmurphy/.nvm/versions/node/v26.10.0/bin/node
; node version = v26.10.0
; npm local prefix = /home/kmurphy/dev/MyProject/MySubdir
; npm version = 12.0.2
; cwd = /home/kmurphy/dev/MyProject/MySubdir
; HOME = /home/kmurphy
; Run `npm config ls -l` to show all defaults.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions