# vercel

> The command-line interface for Vercel

Latest version **65.12.1** (published 2026-11-06) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install vercel
pnpm add vercel
yarn add vercel
bun add vercel
```

Provides the commands `vc`, `vercel`.

## Health

**Score 65/100 (B)** — status: active.

Positive: esm support; no vulnerabilities; recently updated; high maintenance score; popular repo.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 65.12.1 |
| Published | 2026-11-06 |
| First published | 2020-03-03 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | ESM |
| Node | >= 20 |
| Dependencies | 2 |
| Unpacked size | 696.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 16354 |
| Maintainers | matheuss, rauchg, matt.straka, vercel-release-bot, zeit-bot |

## Links

- npm: https://www.npmjs.com/package/vercel
- Repository: https://github.com/vercel/vercel
- Homepage: https://vercel.com
- Issues: https://github.com/vercel/vercel/issues
- npm.io page: https://npm.io/package/vercel

## Dependencies (2)

- [@vercel/cli-config](https://npm.io/package/@vercel/cli-config.md) 0.3.7
- [@vercel/cli-support](https://npm.io/package/@vercel/cli-support.md) 65.12.1

## Recent versions

- 65.12.1 (latest) — 2026-11-06
- 65.14.0-snapshot-58343189052f (snapshot) — 2026-11-07
- 65.14.0-snapshot-ac4725c7d538 — 2026-11-07
- 65.12.1-snapshot-18a93d777921 — 2026-11-06
- 65.12.0 — 2026-11-05
- 65.12.0-snapshot-d1023ee75c2c — 2026-11-05
- 65.12.0-snapshot-801db9d533c3 — 2026-11-04
- 65.12.0-snapshot-f37009a35593 — 2026-11-04
- 65.11.0 — 2026-11-03
- 65.11.0-snapshot-631b89501c86 — 2026-11-03
- 65.10.0 — 2026-11-03
- 65.10.0-snapshot-01b208a88025 — 2026-11-03
- 65.10.0-snapshot-c80a43d75dc7 — 2026-11-02
- 65.10.0-snapshot-b8e5bb846796 — 2026-11-02
- 65.9.0 — 2026-10-31
- … 1129 more at https://npm.io/package/vercel/versions

## README

<p align="center">
  <a href="https://vercel.com">
    <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96">
    <h3 align="center">Vercel</h3>
  </a>
  <p align="center">Develop. Preview. Ship.</p>
</p>

[Join the Vercel Community](https://community.vercel.com/)

## Usage

Vercel's frontend cloud gives developers frameworks, workflows, and infrastructure to build a faster, more personalized web.

To install the latest version of Vercel CLI, run this command:

```bash
npm i -g vercel
```

To quickly start a new project, run the following commands:

```bash
vercel init     # Pick an example project
cd <PROJECT>    # Change directory to the new project
vercel          # Deploy to the cloud
```

Finally, [connect your Git repository to Vercel](https://vercel.com/docs/git) and deploy with `git push`.

## Documentation

For details on how to use Vercel CLI, check out our [documentation](https://vercel.com/docs/cli).

To manage schedules in a running development session, see [local schedules](docs/local-schedules.md).

For how `vercel` picks the runtime for each platform, see [launcher](docs/launcher.md).

## Telemetry

Vercel CLI collects telemetry about how the CLI is used. We use it to find bugs and decide what to work on next.

The CLI records:

- The command and subcommand you ran, and the names of the options and flags you passed. The values you pass are left out or replaced with `[REDACTED]`, except for a few fixed choices such as the target environment.
- Whether the command succeeded, how long it took, and, if it failed, the error code and the error message returned by the Vercel API.
- Your team and user IDs when you're logged in, and the IDs of the projects and deployments the command works with.
- A random device ID that is created on the first run and stored in the CLI's global config folder. It is sent on every run, including before you log in.
- Your CLI version, operating system, CPU architecture, CI provider, how the CLI was installed, and the name of the AI agent that ran the command, if any. The agent name can include its version.

To turn telemetry off, run:

```bash
vercel telemetry disable
```

You can also set the `VERCEL_TELEMETRY_DISABLED=1` environment variable. To check whether telemetry is on, run `vercel telemetry status`.

To learn more, see [Vercel CLI telemetry](https://vercel.com/docs/cli/about-telemetry).

## Local Development

To develop Vercel CLI, first check out the source code, install dependencies, and build all packages:

```bash
git clone https://github.com/vercel/vercel.git
cd vercel
pnpm install
pnpm build
```

At this point you can make modifications to the CLI source code and test them out locally. The CLI source code is located in the `internals/cli-core` directory. This package (`packages/cli`) only holds the `vercel` launcher, which runs the native binary or the JS CLI from [`@vercel/cli-support`](../cli-support), both built from that source.

```bash
cd internals/cli-core
```

Before you add or rename a command, flag, or output, read [AGENTS.md](../../internals/cli-core/AGENTS.md) and the CLI design system in [`.agents/skills/cli-ux`](../../internals/cli-core/.agents/skills/cli-ux/SKILL.md).

### `pnpm vercel <cli-commands...>`

From within the `internals/cli-core` directory, you can use the "vercel" script to quickly execute Vercel CLI from its TypeScript source code directly (without having to manually compile first). For example:

```bash
pnpm vercel deploy
pnpm vercel whoami
pnpm vercel login
pnpm vercel switch --debug
```

When you are satisfied with your changes, make a commit and create a pull request!

## Publishing

### Production Releases

Production releases are automated via the [`release.yml`](../../.github/workflows/release.yml) workflow, which runs on every push to `main`. It uses [changesets](https://github.com/changesets/changesets) to determine which packages need new versions. If there are pending changesets, the workflow either creates a "Version Packages" PR or publishes to npm with the `latest` dist-tag.

To include your changes in a release, add a changeset before merging your PR:

```bash
pnpm changeset
```

### Full Testing

`pnpm vercel` executes a locally built dist. Because this dist lives locally in this monorepo,
the existence of node_modules can sometimes affect the behavior of how `vercel` CLI picking
up dependencies. To test the full user experience of downloading the CLI from the npm registry:

```bash
# build the dist
monorepo_dir=$(pwd)
turbo build --filter=vercel
# use pnpm pack to create the same tarballs that are uploaded to the npm
# registry: vercel and the JS CLI it depends on
cli_support=$(cd packages/cli-support && pnpm pack)
dist=$(cd packages/cli && pnpm pack)

# In your test project
cd ~/dev/test-nextjs-proj

npm install --no-save \
  $monorepo_dir/packages/cli-support/$cli_support \
  $monorepo_dir/packages/cli/$dist
# The vercel bin always runs the published native binary for its version, so
# run the JS CLI from @vercel/cli-support directly to test your local changes.
node node_modules/@vercel/cli-support/dist/vc.js build
```

---
_Source: https://npm.io/package/vercel · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
