Deploy, manage, and develop projects on Vercel from the command line
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.
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 and whether it's or . Also verify you're on the right team with — linking while on the wrong team is a common mistake.
.vercel/project.jsonrepo.jsonvercel whoaminpm 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/local-development.mdreferences/environment-variables.mdreferences/ci-automation.mdreferences/domains-and-dns.mdreferences/projects-and-teams.mdreferences/monitoring-and-debugging.mdreferences/storage.mdreferences/integrations.mdreferences/routing.mdreferences/firewall.mdvercel curl (see references/monitoring-and-debugging.md)vercel api as a fallback (see references/advanced.md)references/node-backends.mdreferences/monorepos.mdreferences/bun.mdreferences/flags.mdreferences/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 whoami to check, vercel teams switch to change.--yes in CI: Required to skip interactive prompts.vercel deploy after vercel build without --prebuilt: The build output is ignored.VERCEL_TOKEN env var instead of --token.vercel curl instead to access preview deploys.