vclaw
Deploy vercel-openclaw from the command line.
Quick Start
npx @vercel/vclaw create
vclaw creates a managed workspace under ~/.vclaw, links a Vercel project, provisions Redis, grabs the latest published OpenClaw bundle, deploys to production, and runs launch verification.
With a Telegram bot
Get a token from @BotFather (/newbot), then:
npx @vercel/vclaw create --telegram "123456:AA...BotFatherToken"
Same flow as above, plus registers the Telegram webhook after verify — no admin-panel clicks.
See all options
npx @vercel/vclaw --help
Prerequisites
- Node.js
>=20, git
- Vercel CLI:
npm i -g vercel
- Logged in via
vercel login (or VERCEL_TOKEN)
Check with:
npx @vercel/vclaw doctor
Common Options
Pick a team or project name:
npx @vercel/vclaw create --scope my-team --name my-openclaw --telegram "<token>"
Add Slack alongside Telegram (both require the signing secret from your Slack app):
npx @vercel/vclaw create \
--telegram "<token>" \
--slack "xoxb-..." \
--slack-signing-secret "abcd1234..."
Enable Vercel Deployment Protection (auto-wires the automation bypass):
npx @vercel/vclaw create --telegram "<token>" --deployment-protection sso
Stop before deploying:
npx @vercel/vclaw create --skip-deploy
Commands
vclaw create
--name <name> Vercel project name (default: openclaw)
--auto-project-name Use the next available friendly OpenClaw project name without prompting
--auto-link Write local .env.local/.gitignore for debugging the linked app
--scope <scope> Vercel team scope
--dir <path> Use an existing local vercel-openclaw project directory
--clone Clone/update vercel-openclaw into --dir or managed workspace
--bundle-url <url> Use a specific published OpenClaw bundle
--no-bundle Do not auto-use the latest published OpenClaw bundle
--admin-secret <hex> Admin-dashboard password (prompted if omitted)
--cron-secret <hex> Optional dedicated cron secret
--deployment-protection <mode> none | sso | password
--protection-bypass-secret <s> Optional automation bypass secret
--skip-deploy Stop after provisioning
--telegram <botToken> Wire a Telegram bot after verify
--slack <botToken> Wire a Slack bot (requires --slack-signing-secret)
--slack-signing-secret <secret> Slack signing secret (paired with --slack)
--slack-bot-name <name> Bot display name when creating a Slack app
--yes Skip confirmation prompts where possible
--telegram and --slack are mutually exclusive with --skip-deploy.
vclaw verify
Run launch verification against an existing deployment:
npx @vercel/vclaw verify --url https://my-openclaw.vercel.app --admin-secret "$ADMIN_SECRET"
Add --protection-bypass "$VERCEL_AUTOMATION_BYPASS_SECRET" for protected deployments.
vclaw doctor
Check local prerequisites and Vercel auth.
Managed Environment Variables
vclaw sets:
ADMIN_SECRET — the admin-dashboard password
CRON_SECRET — when --cron-secret is passed
VERCEL_AUTOMATION_BYPASS_SECRET — when deployment protection is enabled
Redis (REDIS_URL / KV_URL) comes from the Vercel Marketplace integration.
Repository
- GitHub:
vercel-labs/vclaw
- Source project:
vercel-labs/vercel-openclaw
License
MIT