vercel/vercel-vercel-cli
Deploy, manage, inspect, and troubleshoot Vercel projects from the command line. Use for Vercel deployments, build failures, 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, Container Registry (VCR), microfrontends, rolling releases, custom environments, Sandbox, agent/MCP setup, OAuth apps, preview access, local development, or `vercel api` fallback.
npx skills add https://github.com/vercel/vercel --skill vercel-cli
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 a suggested next command over composing a retry only after confirming that it preserves the user's intended target and authorization; do not automatically run linking, authentication, or mutation follow-ups. Read commands such as list, logs, inspect, and api keep their normal output shape.
Project context depends on the command's working directory. Before a consequential read or mutation, run vercel project inspect --non-interactive from the intended directory and confirm the reported owner and project. This command resolves only existing context in non-interactive mode; stop on link_required or a target mismatch instead of linking automatically.
Many project-aware commands also accept --project <name-or-id> with --scope <team> for an explicit, one-command target. Confirm that target and scope preserve the user's intent before using them.
<cwd>/.vercel/project.json: Created by vercel link. This exact working-directory link wins over a repository link. The CLI does not generally inherit a root project.json when run from an arbitrary subdirectory.<repo-root>/.vercel/repo.json: Created by vercel link --repo. The CLI selects the deepest project directory that contains the working directory.Being inside an app directory is not proof that the intended project was selected. Check the resolved project explicitly, especially when a repo mapping does not cover that directory.
vercel whoami --format json identifies the authenticated user and effective team; plain non-TTY vercel whoami prints only the username. Neither verifies the linked project. Read-only project commands can still require login or team SAML re-authentication and open a browser/device flow. Ask the user to complete that flow deliberately before continuing.
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
Use this to route to the correct reference file:
references/deployment.mdreferences/project-infra.mdreferences/local-development.mdreferences/environment-variables.mdreferences/ci-automation.mdreferences/domains-and-dns.mdreferences/projects-and-teams.mdreferences/monitoring-and-debugging.mdreferences/platform-ops.mdreferences/storage.mdvercel vcr: repositories, images, tags, docker/podman/buildah login, push/pull) → references/container-registry.mdreferences/integrations.mdvercel connect) → references/connectors.mdreferences/routing.mdreferences/firewall.mdvercel curl (see references/monitoring-and-debugging.md)vercel api after first-class CLI paths are unavailable or insufficient (see references/advanced.md)references/node-backends.mdreferences/monorepos.mdreferences/bun.mdreferences/flags.mdreferences/microfrontends.mdreferences/sandbox.mdreferences/agent-and-ai.mdvercel traces, including --open / --view) → references/advanced.mdvercel oauth-apps) → references/advanced.mdvercel api fallback, webhooks) → references/advanced.mdreferences/global-options.mdreferences/getting-started.mdvercel link creates project.json, which only tracks one project. Use vercel link --repo instead. When things break, check .vercel/ first.vercel link if .vercel/ doesn't exist. This creates project.json, which may be wrong. Run vercel link (or --repo) explicitly first.vercel project inspect --non-interactive; an unmatched repo path can currently fall back to the sole configured project in non-interactive mode.vercel whoami as linked-project verification: vercel whoami --format json reports authentication and team context, not the selected project.--non-interactive by default, but plain CI does not — pass it explicitly there, and add --yes only for commands that require confirmation.vercel deploy after vercel build without --prebuilt: The build output is ignored.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.VERCEL_TOKEN env var instead of --token.vercel curl instead to access preview deploys.vercel api too early: Prefer first-class CLI commands when they expose the needed data or mutation.Take vercel/vercel-vercel-cli from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm.
Without those the skill loads but fails at the first command.