As a package owner or maintainer, you can transfer ownership of a package you no longer wish to maintain to another trusted npm user using either the npm website or the command line.

For more information on how npm support handles package name disputes between users, you can refer to npm's package name dispute policy.

Note: You cannot transfer a scoped package to another user account or organization, because a package's scope is the user account or organization name. You will need to create a new package in the new scope.

Transferring a package from a user account to another user account on the website

To transfer a package you own or maintain to another user, follow these steps:

  1. Navigate to the package page for the package you want to transfer, replacing <your-package-name> with the name of your package: https://www.npmjs.com/package/<your-package-name>.

  2. On the package Admin tab, under "Maintainers", enter the npm username of the new maintainer.

    Screenshot showing text field to invite maintainers
  3. Click "Invite."

  4. To remove yourself as a maintainer, under the maintainers list, click the "x" next to your username.

    Screenshot showing maintainer list

Transferring a package from a user account to another user account on the command line

To transfer a package to another npm user using the CLI, run the npm owner add command replacing <their-username> with the other user's npm username. An email invitation is sent to the other user. After the user has accepted the invitation, run the npm owner rm command replacing <your-username> with your npm username:

npm owner add <their-username> <package-name>
# new maintainer accepts invitation
npm owner rm <your-username> <package-name>

If you have two-factor authentication enabled for writes, add a one-time password to the command, --otp=123456 (where 123456 is the code from your authenticator application).

npm owner add <their-username> <package-name> --otp=123456
# new maintainer accepts invitation
npm owner rm <your-username> <package-name> --otp=123456
Edit this page on GitHub
5 contributorslukekarrysMylesBorinsmonishcmdemiraclethomson
Last edited by lukekarrys on October 23, 2023