---
title: vercel tokens
product: vercel
url: /docs/cli/tokens
canonical_url: "https://vercel.com/docs/cli/tokens"
last_updated: 2026-07-15
type: reference
prerequisites:
  - /docs/cli
related:
  - /docs/cli/global-options
summary: "Manage your personal Vercel authentication tokens from the CLI: list, create, and remove access tokens for use with the Vercel API and Vercel CLI."
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---

# vercel tokens

The `vercel tokens` command manages your personal authentication tokens. Tokens authenticate Vercel CLI commands and Vercel REST API requests on your behalf. They are scoped to your user account, and optionally to a single project. Use this command to list existing tokens, create new ones for scripts and CI environments, and revoke tokens you no longer need.


<!-- docsgraph:related -->
## Related pages

> **For AI agents:** Follow these links to understand how this page connects to the rest of the Vercel ecosystem. For the full cross-link map (inbound, outbound, prerequisites, and semantic neighbors), see the .graph.md link below.

- [Access tokens](https://vercel.com/docs/accounts/access-tokens?from=related&source_path=%2Fdocs%2Fcli%2Ftokens&source_site=vercel-docs&relationship=related) — Create and scope Vercel access tokens to your full account, a team, or a single project, then use them to authenticate A
- [List Auth Tokens](https://vercel.com/docs/rest-api/authentication/list-auth-tokens?from=related&source_path=%2Fdocs%2Fcli%2Ftokens&source_site=vercel-docs&relationship=related) — GET /v6/user/tokens — Retrieve a list of the current User's authentication tokens.
- [vercel api](https://vercel.com/docs/cli/api?from=related&source_path=%2Fdocs%2Fcli%2Ftokens&source_site=vercel-docs&relationship=related) — Learn how to make authenticated HTTP requests to the Vercel API using the vercel api CLI command.
- [Tokens](https://vercel.com/docs/connect/concepts/tokens?from=related&source_path=%2Fdocs%2Fcli%2Ftokens&source_site=vercel-docs&relationship=related) — Short-lived provider credentials issued by Vercel Connect. Each token request specifies a subject, optional installation
- [Create an Auth Token](https://vercel.com/docs/rest-api/authentication/create-an-auth-token?from=related&source_path=%2Fdocs%2Fcli%2Ftokens&source_site=vercel-docs&relationship=related) — POST /v3/user/tokens — Creates and returns a new authentication token for the currently authenticated User. The \\`bearer

Full cross-link map for this page: [/docs/cli/tokens.graph.md](/docs/cli/tokens.graph.md?from=related&source_path=%2Fdocs%2Fcli%2Ftokens&source_site=vercel-docs&relationship=graph)
<!-- /docsgraph:related -->

> **💡 Note:** Treat tokens as secrets. The CLI shows the plaintext value of a newly created
> token only once. Store it in a secret manager or environment variable; never
> commit it to source control.

## Usage

```bash filename="terminal"
vercel tokens [subcommand]
```

*Using the \`vercel tokens\` command to manage personal authentication tokens.
When called without a subcommand, \`vercel tokens\` runs \`list\`.*

## Commands

### list (ls)

Lists your personal authentication tokens. This is the default subcommand, so `vercel tokens` and `vercel tokens list` are equivalent.

```bash filename="terminal"
vercel tokens
vercel tokens list
vercel tokens ls --format json
```

*List your tokens. Use \`--format json\` for machine-readable output.*

#### Options

| Option | Type | Description |
| --- | --- | --- |
| `-F, --format <FORMAT>` | String | Output format (`json`) |
| `--limit <NUMBER>` | Number | Maximum number of tokens to return (default 20, range 1-100) |

### add (create)

Creates a new personal authentication token with the given name. The plaintext token is printed to stdout; capture it before it scrolls away.

```bash filename="terminal"
vercel tokens add "CI deploy"
```

*Create a new token named \`CI deploy\`. The plaintext value is printed once.*

> **💡 Note:** Creating tokens with this command requires a **classic personal access
> token** with account-level scope. OAuth sessions created by `vercel login`
> cannot mint new tokens, and team-only or project-only tokens (some `vcp_…`
> values) will also be rejected. If you don't already have a classic token,
> create one from the [Account Tokens
> page](/account/tokens) in the dashboard, then set `VERCEL_TOKEN` (or pass
> `--token`) to that value and re-run the command.

#### Arguments

| Argument | Required | Description |
| --- | --- | --- |
| `name` | Yes | Display name for the token (helps you identify it later) |

#### Options

| Option | Type | Description |
| --- | --- | --- |
| `-F, --format <FORMAT>` | String | Output format (`json`) |
| `--project <PROJECT_ID>` | String | Optional project ID to scope the token to a single project. The CLI forwards this value directly to the API; project names are not resolved. |

### remove (rm, delete)

Removes a personal authentication token by ID. Use `vercel tokens list` first to find the token ID.

```bash filename="terminal"
vercel tokens rm tok_abc123
```

*Revoke the token with ID \`tok\_abc123\`.*

#### Arguments

| Argument | Required | Description |
| --- | --- | --- |
| `id` | Yes | ID of the token to remove |

#### Options

| Option | Type | Description |
| --- | --- | --- |
| `-F, --format <FORMAT>` | String | Output format (`json`) |

## Examples

### Create a token for CI/CD

```bash filename="terminal"
vercel tokens add "GitHub Actions deploy"
```

*Capture the plaintext value from stdout and set it as \`VERCEL\_TOKEN\` in your
CI environment.*

### Scope a token to a single project

```bash filename="terminal"
vercel tokens add "Preview deploy bot" --project prj_abc123
```

*The resulting token can only act on \`prj\_abc123\`. This narrows blast radius
if the token leaks.*

### List tokens as JSON

```bash filename="terminal"
vercel tokens ls --format json
```

*Useful for scripts that need to inspect or reconcile tokens.*

### Revoke a token

```bash filename="terminal"
vercel tokens rm tok_abc123
```

*Remove a token by ID.*

## Related

- [Account tokens](/account/tokens) (Vercel Dashboard)
- [`--token` global option](/docs/cli/global-options#token)
- [Using Vercel CLI for custom workflows](/kb/guide/using-vercel-cli-for-custom-workflows)


---

[View full sitemap](/docs/sitemap)
