Skip to content
Latchkey

Vercel "Project not found" in CI

The Vercel CLI resolved a project ID or name that does not exist under the token's scope. Either the .vercel/project.json link points at a different team, or VERCEL_ORG_ID / VERCEL_PROJECT_ID are wrong.

What this error means

A vercel pull or vercel deploy step fails with "Error: Project not found" even though the project exists in the dashboard.

Vercel CLI
Error: Project not found ("VERCEL_PROJECT_ID" is set but does not match a project)

Common causes

Wrong org or project ID in CI

The VERCEL_ORG_ID or VERCEL_PROJECT_ID values do not match the project under the token's team scope.

The token belongs to a different scope

The project lives under a team, but the token is personal or scoped to another team, so the CLI cannot see it.

How to fix it

Set the org and project IDs from the linked project

  1. Run vercel link locally and read .vercel/project.json for the IDs.
  2. Store them as VERCEL_ORG_ID and VERCEL_PROJECT_ID CI variables.
  3. Use a token scoped to the same team that owns the project.
.github/workflows/ci.yml
env:
  VERCEL_ORG_ID: ${{ vars.VERCEL_ORG_ID }}
  VERCEL_PROJECT_ID: ${{ vars.VERCEL_PROJECT_ID }}
  VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}

Pass the correct scope

If the project belongs to a team, pass --scope <team> so the CLI looks under the right account.

Terminal
vercel deploy --scope my-team --token=$VERCEL_TOKEN

How to prevent it

  • Pull project IDs from .vercel/project.json after vercel link.
  • Use a team-scoped token that matches the project owner.
  • Set --scope when the project is owned by a team.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →