# Vercel Deploy
Deploy any project to Vercel instantly. **Always deploy as preview** (not production) unless the user explicitly asks for production.
## Prerequisites
- When sandboxing blocks the deployment network calls, rerun with `sandbox_permissions=require_escalated`.
- The deployment might take a few minutes. Use appropriate timeout values.
## Quick Start
**Just run this (with a 10 minute timeout):**
```bash
vercel deploy [path] -y
```
**Important:** Use a 10 minute (600000ms) timeout for the deploy command since builds can take a while.
If that fails with "No existing credentials found", use the fallback method below.
## Fallback (No Auth)
If CLI fails with auth error, use the deploy script:
```bash
# Deploy current directory
bash scripts/deploy.sh
# Deploy specific project
bash scripts/deploy.sh /path/to/project
# Deploy existing tarball
bash scripts/deploy.sh /path/to/project.tgz
```
The script handles framework detection, packaging, and deployment. It waits for the build to complete and returns JSON with `previewUrl` and `claimUrl`.
**Tell the user:** "Your deployment is ready at [previewUrl]. Claim it at [claimUrl] to manage your deployment."
## Production Deploys
Only if user explicitly asks:
```bash
vercel deploy [path] --prod -y
```
## Output
Show the user the deployment URL. For fallback deployments, also show the claim URL.
**Do not** curl or fetch the deployed URL to verify it works. Just return the link.
## Troubleshooting
### Escalated Network Access
If deployment fails due to network issues (timeouts, DNS errors, connection resets), rerun the deploy with escalated permissions (use `sandbox_permissions=require_escalated`). The deploy requires escalated network access when sandbox networking blocks outbound requests.
Example guidance to the user:
```
The deploy needs escalated network access to deploy to Vercel. I can rerun the command with escalated permissions—want me to proceed?
```
Source: claude-code-templates (MIT). See About Us for full credits.