NPM-PROFILE(1) NPM-PROFILE(1)

# [NAME](#NAME)

**npm-profile** - Change settings on your registry profile

## [Synopsis](#Synopsis)

```
npm profile enable-2fa [auth-only|auth-and-writes]
npm profile disable-2fa
npm profile get [<key>]
npm profile set <key> <value>
```

Note: This command is unaware of workspaces.

## [Description](#Description)

Change your profile information on the registry. Note that this command depends on the registry implementation, so third-party registries may not support this interface.

•

**npm profile get \[&lt;property&gt;]**: Display all of the properties of your profile, or one or more specific properties. It looks like:

```
name: example
email: e@example.com (verified)
two-factor auth: auth-and-writes
fullname: Example User
homepage:
github:
created: 2015-02-26T01:38:35.892Z
updated: 2017-10-02T21:29:45.922Z
```

- **npm profile set &lt;property&gt; &lt;value&gt;**: Set the value of a profile property. You can set the following properties this way: email, fullname, homepage, github
- **npm profile set password**: Change your password. This is interactive, you'll be prompted for your current password and a new password. You'll also be prompted for an OTP if you have two-factor authentication enabled.
- **npm profile enable-2fa \[auth-and-writes|auth-only]**: Enables two-factor authentication. Defaults to **auth-and-writes** mode. Modes are:

<!--THE END-->

- **auth-only**: Require an OTP when logging in or making changes to your account's authentication. The OTP will be required on both the website and the command line.
- **auth-and-writes**: Requires an OTP at all the times **auth-only** does, and also requires one when publishing a module, setting the **latest** dist-tag, or changing access via **npm access** and **npm owner**.

•

**npm profile disable-2fa**: Disables two-factor authentication.

## [Details](#Details)

Some of these commands may not be available on non npmjs.com registries.

## [Configuration](#Configuration)

## **registry**

- Default: "https://registry.npmjs.org/"
- Type: URL

The base URL of the npm registry.

## **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.

## **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.

## **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.

## [See Also](#See_Also)

- npm help login
- npm help registry
- npm help config
- npm help npmrc
- npm help owner
- npm help whoami
- npm help token

July 2026 NPM@12.0.2

---

Document: npm-profile(1) from npm 12.0.2-r0 (Chainguard OS)
