NPM-LOGIN(1)
π NPM-LOGIN(1) β the npm-login manual page, bestie π
πΈ NAME πΈ
okay so npm-login - Login to a registry user account. That's the whole NAME section, and honestly? Iconic. π
β¨ Synopsis β¨
npm login
Note: This command is unaware of workspaces. π Like, it does not know them, does not see them, no cap.
π Description π
Here's the tea, bestie: it verifies a user in the specified registry, and saves the credentials to the .npmrc file. If no registry is specified, the default registry will be used (see npm help config). π«Ά
When you run npm login, the CLI automatically generates a legacy token of publish type. For more information, see About legacy tokens β¨/about-access-tokens#about-legacy-tokensβ©. π₯
When using legacy for your auth-type, the username and password are read in from prompts. π
To reset your password, go to β¨https://www.npmjs.com/forgotβ©. To change your email address, go to β¨https://www.npmjs.com/email-editβ©. π
You may use this command multiple times with the same user account to authorize on a new machine. When authenticating on a new machine, the username, password and email address must all match with your existing record. β
π Configuration π
π¦ registry
- Default:
"https://registry.npmjs.org/" - Type:
URL
The base URL of the npm registry. Highkey the main character of registry config. π
π§ scope
- Default: the scope of the current project, if any, or
"" - Type:
String
Associate an operation with a scope for a scoped registry. Super useful when logging in to or out of a private registry:
# log in, linking the scope to the custom registry
npm login --scope=@mycorp --registry=https://registry.mycorp.com
# log out, removing the link and the auth token
npm logout --scope=@mycorp
This will cause @mycorp to be mapped to the registry for future installation of packages specified according to the pattern @mycorp/package. π¦
This will also cause npm init to create a scoped package. π
# accept all defaults, and create a package named "@foo/whatever",
# instead of just named "whatever"
npm init --scope=@foo --yes
π auth-type
- Default:
"web" - Type:
"legacy"or"web"
What authentication strategy to use with login. Note that if an otp config is given, this value will always be set to legacy. That's the rule, periodt. π
π«Ά See Also π«Ά
npm help registrynpm help confignpm help npmrcnpm help ownernpm help whoaminpm help tokennpm help profile
okay that's the whole vibe. The footer is giving source/version NPM@12.2.1, dated October 2026, and it's tagged NPM-LOGIN(1) β so cute, so official, mwah π
β¨
π¦ where this page comes from
- arch rolling: npm 12.2.1-1 Β· Artistic-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms