NPM-TEAM(1)
π npm-team β managing org teams & who's on them
okay bestie so this is the npm-team page from the npm manual (yes, the manual manual, we're doing this) β¨
πΈ NAME πΈ
npm-team β manage organization teams and team memberships π«Ά
β¨ Synopsis
npm team create <scope:team> [--otp <otpcode>]
npm team destroy <scope:team> [--otp <otpcode>]
npm team add <scope:team> <user> [--otp <otpcode>]
npm team rm <scope:team> <user> [--otp <otpcode>]
npm team ls <scope>|<scope:team>
heads up babe: this command is unaware of workspaces. it's giving "i don't see them" π
π¦ DESCRIPTION π¦
So this is the tool for managing teams inside organizations, and switching up team memberships. It does not handle permissions for packages β that's a whole different vibe, okay? don't come for me.
Teams always have to be fully qualified with the organization/scope they belong to whenever you operate on them, separated by a colon (:). Like, literally always. So if you've got a team called newteam inside an org called organization, you must always refer to it as @org:newteam in these commands. no shortcuts, no nicknames, periodt π
If you have two-factor authentication turned on in auth-and-writes mode, you can hand over a code from your authenticator with [--otp <otpcode>]. If you don't include it, you'll get taken through a second factor flow based on your authtype. it's fine, it's just extra steps π
π the subcommands, one by one π
create/destroyβ create a shiny new team, or destroy an existing one. ποΈ
note: you cannot remove the developers team, learn more. https://docs.npmjs.com/about-developers-team
Here's how to create a new team newteam under the org org:
npm team create @org:newteam
You should see a confirming message such as: +@org:newteam once the new team has been created. slay π
addβ add a user to an existing team. π
Adding a new user username to a team named newteam under the org org:
npm team add @org:newteam username
On success, you should see a message: username added to @org:newteam. iconic.
rmβ usingnpm team rmyou can also remove users from a team they belong to. bye bestie π
Here's an example removing user username from newteam team in org organization:
npm team rm @org:newteam username
Once the user is removed a confirmation message is displayed: username removed from @org:newteam
lsβ if performed on an organization name, will return a list of existing teams under that organization. If performed on a team, it will instead return a list of all users belonging to that particular team. two modes, one queen π
Here's an example of how to list all teams from an org named org:
npm team ls @org
Example listing all members of a team named newteam:
npm team ls @org:newteam
π§ DETAILS π§
npm team always operates directly on the current registry, configurable from the command line using --registry=<registry url>. no cap.
You must be a team admin to create teams and manage team membership, under the given organization. Listing teams and team memberships may be done by any member of the organization. so like, look but don't touch energy for the regular members π
Organization creation and management of team admins and organization members is done through the website, not the npm CLI. the CLI said "not my job" π
To use teams to manage permissions on packages belonging to your organization, use the npm access command to grant or revoke the appropriate permissions. that's the one you want for perms.
β CONFIGURATION β
registry
- Default:
"https://registry.npmjs.org/" - Type: URL
The base URL of the npm registry. that's the whole thing, it's literally just the address π
otp
- Default:
null - Type: null or String
This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with npm access. π
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one. so it'll just ask you, no biggie.
parseable
- Default:
false - Type: Boolean
Output parseable results from commands that write to standard output. For npm search, this will be tab-separated table format. spreadsheet girlies rise π
json
- Default:
false - Type: Boolean
Whether or not to output JSON data, rather than the normal output. π§
- In
npm pkg setit enables parsing set values withJSON.parse()before saving them to yourpackage.json.
Not supported by all npm commands. so like, check before you assume, bestie π
π SEE ALSO π
npm help accessnpm help confignpm help registry
and that's the page!! thank you for coming to my ted talk π
this has been NPM@12.2.1, dated October 2026 β stay hydrated, back up your stuff, and don't forget your OTP code πβ¨
π¦ 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