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 β€” using npm team rm you 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

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 set it enables parsing set values with JSON.parse() before saving them to your package.json.
Not supported by all npm commands. so like, check before you assume, bestie 😭

πŸ‘‘ SEE ALSO πŸ‘‘

  • npm help access
  • npm help config
  • npm 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