Vercel CLI Skill
The Vercel CLI (vercel or vc) deploys, manages, and develops projects on the Vercel platform from the command line. Use vercel <command> --help for full flag details on any command.
The installed CLI help is the source of truth for obscure or newly added flags. If a command example here is not enough, check vercel <command> --help before acting instead of guessing.
Critical: Project Linking
Commands must be run from the directory containing the .vercel folder (or a subdirectory of it). How .vercel gets set up depends on your project structure:
.vercel/project.json: Created by vercel link. Links a single project. Fine for single-project repos, and can work in monorepos if there's only one project.
.vercel/repo.json: Created by vercel link --repo. Links a repo that may contain multiple projects. Always a good idea when any project has a non-root directory (e.g., apps/web).
Running from a project subdirectory (e.g., apps/web/) skips the "which project?" prompt since it's unambiguous.
When something goes wrong, check how things are linked first — look at what's in .vercel/ and whether it's project.json or repo.json. Also verify you're on the right team with vercel whoami — linking while on the wrong team is a common mistake.
Quick Start
npm i -g vercel
vercel login
vercel link # single project
# OR
vercel link --repo # monorepo
vercel pull
vercel dev # local development
vercel deploy # preview deployment
vercel --prod # production deployment
Decision Tree
Use this to route to the correct reference file:
- Deploy →
references/deployment.md
- Rolling releases, deploy hooks, cron jobs, cache, git connection, Edge Config, redirects, custom environments →
references/project-infra.md
- Local development →
references/local-development.md
- Environment variables →
references/environment-variables.md
- CI/CD automation →
references/ci-automation.md
- Domains or DNS →
references/domains-and-dns.md
- Projects or teams →
references/projects-and-teams.md
- Logs, metrics, Speed Insights, Core Web Vitals, activity, performance, preview access, or production debugging →
references/monitoring-and-debugging.md
- Alerts, usage, contracts, billing purchases, tokens, telemetry, or CLI upgrades →
references/platform-ops.md
- Blob storage →
references/storage.md
- Integrations (databases, storage, etc.) →
references/integrations.md
- Connectors (
vercel connect) → references/connectors.md
- Routing rules →
references/routing.md
- Firewall (WAF rules, IP blocks, rate limiting) →
references/firewall.md
- Access a preview deployment → use
vercel curl (see references/monitoring-and-debugging.md)
- CLI command is unavailable or output is missing required fields → use
vercel api after first-class CLI paths are unavailable or insufficient (see references/advanced.md)
- Node.js backends (Express, Hono, etc.) →
references/node-backends.md
- Monorepos (Turborepo, Nx, workspaces) →
references/monorepos.md
- Bun runtime →
references/bun.md
- Feature flags →
references/flags.md
- Microfrontends →
references/microfrontends.md
- Sandbox →
references/sandbox.md
- Agent, MCP, skills discovery, or AI Gateway →
references/agent-and-ai.md
- Captured request traces (
vercel traces, including --open / --view) → references/advanced.md
- Vercel Apps / OAuth apps (
vercel oauth-apps) → references/advanced.md
- Advanced (
vercel api fallback, webhooks) → references/advanced.md
- Global flags →
references/global-options.md
- First-time setup →
references/getting-started.md
Anti-Patterns
- Wrong link type in monorepos with multiple projects:
vercel link creates project.json, which only tracks one project. Use vercel link --repo instead. When things break, check .vercel/ first.
- Letting commands auto-link in monorepos: Many commands implicitly run
vercel link if .vercel/ doesn't exist. This creates project.json, which may be wrong. Run vercel link (or --repo) explicitly first.
- Linking while on the wrong team: Use
vercel whoami to check, vercel teams switch to change.
- Forgetting non-interactive flags in CI/agent runs: Use
--non-interactive when you need prompt-free behavior, and add --yes only for commands that require confirmation.
- Using
vercel deploy after vercel build without --prebuilt: The build output is ignored.
- Hardcoding tokens in flags: Use
VERCEL_TOKEN env var instead of --token.
- Disabling deployment protection: Use
vercel curl instead to access preview deploys.
- Using
vercel api too early: Prefer first-class CLI commands when they expose the needed data or mutation.
Source: vercel/vercel — distributed by TomeVault.
1---2name: vercel-cli3description: Deploy, manage, inspect, and troubleshoot Vercel projects from the command line. Use for Vercel deployments, projects and teams, environment variables, domains and DNS, logs, metrics, Speed Insights, Core Web Vitals, request traces, usage, activity, alerts, firewall rules, cache, cron jobs, deploy hooks, Edge Config, feature flags, integrations, connectors, Blob storage, microfrontends, rolling releases, custom environments, Sandbox, agent/MCP setup, OAuth apps, preview access, local development, or `vercel api` fallback. Use when this capability is needed.4---56# Vercel CLI Skill78The Vercel CLI (`vercel` or `vc`) deploys, manages, and develops projects on the Vercel platform from the command line. Use `vercel <command> --help` for full flag details on any command.910The installed CLI help is the source of truth for obscure or newly added flags. If a command example here is not enough, check `vercel <command> --help` before acting instead of guessing.1112## Critical: Project Linking1314Commands must be run from the directory containing the `.vercel` folder (or a subdirectory of it). How `.vercel` gets set up depends on your project structure:1516- **`.vercel/project.json`**: Created by `vercel link`. Links a single project. Fine for single-project repos, and can work in monorepos if there's only one project.17- **`.vercel/repo.json`**: Created by `vercel link --repo`. Links a repo that may contain multiple projects. Always a good idea when any project has a non-root directory (e.g., `apps/web`).1819Running from a project subdirectory (e.g., `apps/web/`) skips the "which project?" prompt since it's unambiguous.2021**When something goes wrong, check how things are linked first** — look at what's in `.vercel/` and whether it's `project.json` or `repo.json`. Also verify you're on the right team with `vercel whoami` — linking while on the wrong team is a common mistake.2223## Quick Start2425```bash26npm i -g vercel27vercel login28vercel link # single project29# OR30vercel link --repo # monorepo31vercel pull32vercel dev # local development33vercel deploy # preview deployment34vercel --prod # production deployment35```3637## Decision Tree3839Use this to route to the correct reference file:4041- **Deploy** → `references/deployment.md`42- **Rolling releases, deploy hooks, cron jobs, cache, git connection, Edge Config, redirects, custom environments** → `references/project-infra.md`43- **Local development** → `references/local-development.md`44- **Environment variables** → `references/environment-variables.md`45- **CI/CD automation** → `references/ci-automation.md`46- **Domains or DNS** → `references/domains-and-dns.md`47- **Projects or teams** → `references/projects-and-teams.md`48- **Logs, metrics, Speed Insights, Core Web Vitals, activity, performance, preview access, or production debugging** → `references/monitoring-and-debugging.md`49- **Alerts, usage, contracts, billing purchases, tokens, telemetry, or CLI upgrades** → `references/platform-ops.md`50- **Blob storage** → `references/storage.md`51- **Integrations (databases, storage, etc.)** → `references/integrations.md`52- **Connectors (`vercel connect`)** → `references/connectors.md`53- **Routing rules** → `references/routing.md`54- **Firewall (WAF rules, IP blocks, rate limiting)** → `references/firewall.md`55- **Access a preview deployment** → use `vercel curl` (see `references/monitoring-and-debugging.md`)56- **CLI command is unavailable or output is missing required fields** → use `vercel api` after first-class CLI paths are unavailable or insufficient (see `references/advanced.md`)57- **Node.js backends (Express, Hono, etc.)** → `references/node-backends.md`58- **Monorepos (Turborepo, Nx, workspaces)** → `references/monorepos.md`59- **Bun runtime** → `references/bun.md`60- **Feature flags** → `references/flags.md`61- **Microfrontends** → `references/microfrontends.md`62- **Sandbox** → `references/sandbox.md`63- **Agent, MCP, skills discovery, or AI Gateway** → `references/agent-and-ai.md`64- **Captured request traces (`vercel traces`, including `--open` / `--view`)** → `references/advanced.md`65- **Vercel Apps / OAuth apps (`vercel oauth-apps`)** → `references/advanced.md`66- **Advanced (`vercel api` fallback, webhooks)** → `references/advanced.md`67- **Global flags** → `references/global-options.md`68- **First-time setup** → `references/getting-started.md`6970## Anti-Patterns7172- **Wrong link type in monorepos with multiple projects**: `vercel link` creates `project.json`, which only tracks one project. Use `vercel link --repo` instead. When things break, check `.vercel/` first.73- **Letting commands auto-link in monorepos**: Many commands implicitly run `vercel link` if `.vercel/` doesn't exist. This creates `project.json`, which may be wrong. Run `vercel link` (or `--repo`) explicitly first.74- **Linking while on the wrong team**: Use `vercel whoami` to check, `vercel teams switch` to change.75- **Forgetting non-interactive flags in CI/agent runs**: Use `--non-interactive` when you need prompt-free behavior, and add `--yes` only for commands that require confirmation.76- **Using `vercel deploy` after `vercel build` without `--prebuilt`**: The build output is ignored.77- **Hardcoding tokens in flags**: Use `VERCEL_TOKEN` env var instead of `--token`.78- **Disabling deployment protection**: Use `vercel curl` instead to access preview deploys.79- **Using `vercel api` too early**: Prefer first-class CLI commands when they expose the needed data or mutation.8081---82> Source: [vercel/vercel](https://github.com/vercel/vercel) — distributed by [TomeVault](https://tomevault.io).83<!-- tomevault:4.0:skill_md:2026-06-27 -->