Dry-run deployments with Vercel CLI
vercel deploy --dry (CLI v54.17.2+) prints the framework and full file manifest a deploy would upload, as JSON when piped — a pre-deploy check agents can loop on without ever creating a deployment.
**The gist** Vercel CLI **v54.17.2** adds **vercel deploy --dry**, which shows the detected framework preset and exactly which files a deployment would include, without uploading anything. With **--format=json** (automatic for piped or non-TTY output) it returns a full manifest: included and ignored paths, directory size distribution, largest files, **file modes and content hashes**.
**Why it matters** This gives a coding agent a cheap, deterministic pre-deploy gate: verify framework detection, catch missing or unexpected files, flag oversized assets, then edit **.vercelignore** or project config and rerun until the manifest matches intent — **no deployment is created** along the way.
**The gist** Vercel CLI **v54.17.2** adds **vercel deploy --dry**, which shows the detected framework preset and exactly which files a deployment would include, without uploading anything. With **--format=json** (automatic for piped or non-TTY output) it returns a full manifest: included and ignored paths, directory size distribution, largest files, **file modes and content hashes**. **Why it matters** This gives a coding agent a cheap, deterministic pre-deploy gate: verify framework detection, catch missing or unexpected files, flag oversized assets, then edit **.vercelignore** or project config and rerun until the manifest matches intent — **no deployment is created** along the way. **Watch out** A dry run validates the **file manifest**, not the build — compile errors and runtime config issues still only surface on a real deployment. It requires CLI **v54.17.2 or later**.