The ENEEDAUTH error occurs when npm cannot find valid authentication credentials while attempting to publish a package. This typically happens when you're not logged in to the registry, have an invalid or expired token, or misconfigured .npmrc settings.
npm requires authentication to publish packages to protect the registry from unauthorized uploads. When npm cannot verify your credentials against the registry, it blocks the publish operation with an ENEEDAUTH error. This happens at publish time because npm needs to verify you own the package namespace and have permissions to publish.
Check if you're logged in to the correct registry:
npm whoamiIf this returns your username, you're logged in. If you get an error, proceed to log in:
npm loginCheck that your .npmrc file contains the authentication token:
cat ~/.npmrcYou should see a line like:
//registry.npmjs.org/:_authToken=npm_xxxxxxxxxxxxxxxxxNote: The // at the start is NOT a comment—it's part of the registry URL syntax.
If publishing a scoped package, verify the name field includes the scope:
{
"name": "@my-org/my-package",
"version": "1.0.0"
}If publishing to a private registry, add publishConfig to your package.json:
{
"name": "@my-org/my-package",
"publishConfig": {
"registry": "https://your-registry.com"
}
}In GitHub Actions, ensure you specify the registry-url:
- uses: actions/setup-node@v3
with:
node-version: '18'
registry-url: 'https://registry.npmjs.org/'
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}In npm v7.3.0 and some versions around npm 8-9, there were bugs in the authentication logic where users could successfully run npm adduser but still receive ENEEDAUTH errors. If using an older npm version, try updating: npm install -g npm@latest. NPM 9+ enforces that _auth settings must be scoped to a registry URL and cannot be global.
npm ERR! code E401 npm ERR! 401 Unauthorized - Token has expired
Token has expired - npm authentication failure
npm ERR! code EAI_NODATA npm ERR! errno EAI_NODATA npm ERR! getaddrinfo EAI_NODATA registry.npmjs.org
How to fix "npm ERR! code EAI_NODATA - getaddrinfo EAI_NODATA"
npm ERR! code EMPTYPACKAGE npm ERR! Package contains no files
How to fix 'npm ERR! code EMPTYPACKAGE' - Package contains no files
npm ERR! code EWORKSPACEMISSING npm ERR! Workspace does not exist: packages/missing
How to fix "npm ERR! code EWORKSPACEMISSING - Workspace does not exist" error
npm ERR! code EADDRNOTAVAIL npm ERR! errno EADDRNOTAVAIL npm ERR! Address not available
How to fix "npm ERR! code EADDRNOTAVAIL - Address not available" error