vercel-cli logo

vercel-cli

vercel cli

vercel/vercel3Kinstalls15.6KstarsCLI & Terminal

SKILL.md

Full skill instructions

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.

Parse only stdout for URLs and JSON. Warnings, progress, and --help print to stderr; merge streams only when searching help text. Some help commands exit 2 after printing usage, so treat printed usage as a successful help read.

In agent/non-interactive mode, many commands report errors and required confirmations as a single JSON object on stdout with status, reason, hint, and next (runnable follow-up commands). Prefer running a suggested next command over composing a retry. Read commands such as list, logs, inspect, and api keep their normal output shape.

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, redeploy, forced builds, no-cache builds, or deployment source/provenancereferences/deployment.md
  • Rolling releases, deploy hooks, cron jobs, cache, git connection, Edge Config, redirects, custom environmentsreferences/project-infra.md
  • Local developmentreferences/local-development.md
  • Environment variablesreferences/environment-variables.md
  • CI/CD automationreferences/ci-automation.md
  • Domains or DNSreferences/domains-and-dns.md
  • Projects or teamsreferences/projects-and-teams.md
  • Build failures, deployment errors, logs, metrics, Speed Insights, Core Web Vitals, activity, performance, preview access, or production debuggingreferences/monitoring-and-debugging.md
  • Alerts, usage, contracts, billing purchases, tokens, telemetry, or CLI upgradesreferences/platform-ops.md
  • Blob storagereferences/storage.md
  • Container Registry (vercel vcr: repositories, images, tags, docker/podman/buildah login, push/pull)references/container-registry.md
  • Integrations (databases, storage, etc.)references/integrations.md
  • Connectors (vercel connect)references/connectors.md
  • Routing rulesreferences/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 runtimereferences/bun.md
  • Feature flagsreferences/flags.md
  • Microfrontendsreferences/microfrontends.md
  • Sandboxreferences/sandbox.md
  • Agent, MCP, skills discovery, or AI Gatewayreferences/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 flagsreferences/global-options.md
  • First-time setupreferences/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 plain CI runs: detected agents get --non-interactive by default, but plain CI does not — pass it explicitly there, and add --yes only for commands that require confirmation.
  • Using vercel deploy after vercel build without --prebuilt: The build output is ignored.
  • Using vercel redeploy for no-cache rebuilds: vercel redeploy does not expose a no-cache flag; use vercel deploy --force without --with-cache when you need a fresh deployment that does not retain build cache.
  • 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.