Skip to content
Docs

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.

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.

terminal
vercel tokens [subcommand]

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

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

terminal
vercel tokens
vercel tokens list
vercel tokens ls --format json

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

OptionTypeDescription
-F, --format <FORMAT>StringOutput format (json)
--limit <NUMBER>NumberMaximum number of tokens to return (default 20, range 1-100)

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

terminal
vercel tokens add "CI deploy"

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

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 in the dashboard, then set VERCEL_TOKEN (or pass --token) to that value and re-run the command.

ArgumentRequiredDescription
nameYesDisplay name for the token (helps you identify it later)
OptionTypeDescription
-F, --format <FORMAT>StringOutput format (json)
--project <PROJECT_ID>StringOptional project ID to scope the token to a single project. The CLI forwards this value directly to the API; project names are not resolved.

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

terminal
vercel tokens rm tok_abc123
Revoke the token with ID tok_abc123.
ArgumentRequiredDescription
idYesID of the token to remove
OptionTypeDescription
-F, --format <FORMAT>StringOutput format (json)
terminal
vercel tokens add "GitHub Actions deploy"

Capture the plaintext value from stdout and set it as VERCEL_TOKEN in your CI environment.

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.

terminal
vercel tokens ls --format json

Useful for scripts that need to inspect or reconcile tokens.

terminal
vercel tokens rm tok_abc123
Remove a token by ID.

The following global options can be passed when using the vercel tokens command:

For more information on global options and their usage, refer to the options section.

Last updated June 9, 2026

Was this helpful?

supported.