| name | vercel-cli |
| description | Deploy, manage, and develop projects on Vercel from the command line |
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> -h for full flag details on any command.
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
vercel link --repo
vercel pull
vercel dev
vercel deploy
vercel --prod
Decision Tree
Use this to route to the correct reference file:
- Deploy →
references/deployment.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, debugging, or accessing preview deploys →
references/monitoring-and-debugging.md
- Blob storage →
references/storage.md
- Integrations (databases, storage, etc.) →
references/integrations.md
- Access a preview deployment → use
vercel curl (see references/monitoring-and-debugging.md)
- CLI doesn't have a command for it → use
vercel api as a fallback (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
- Advanced (API, 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
--yes in CI: Required to skip interactive prompts.
- 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.