VibeKit CLI

Terminal client for the VibeKit task API. Start a cloud coding project or continue one of yours, wait for the task to commit and deploy, check status, all from your shell. Built to compose with the rest of your dev environment.

Install

npm install -g vibekit-cli
vibekit auth

auth saves your VibeKit API key (from your Profile page) to ~/.vibekit/config.json; VIBEKIT_API_KEY overrides it. A Claude or OpenAI key or subscription is connected in the app, not the CLI.

Commands

vibekit auth
Save your VibeKit API key locally. vibekit auth status shows the key in use and your connected providers.
vibekit account
Show your plan, credits and container minutes.
vibekit task "<prompt>"
Send a cloud coding task. With no --repo it starts a new project in a repo VibeKit creates; pass that repo (--repo vibekit-apps/name) to continue it. Returns a task ID immediately.
vibekit status <id>
Check status of a previously-submitted task.
vibekit wait <id>
Block until the task completes (or fails), up to 10 minutes. Useful for shell pipelines.
vibekit tasks
List your active and recent tasks.
vibekit schedule "<prompt>"
Run a prompt on a deployed project's agent on a schedule: --repo vibekit-apps/name --every daily (hourly, daily, weekly, or a cron expression in UTC). Every plan; on Free, at most once every 6 hours.
vibekit schedules
List your schedules with their next run and run count.
vibekit unschedule <id>
Cancel a schedule.

Tasks write only to projects VibeKit created for you. The CLI cannot work on an existing GitHub repo of your own.

Useful patterns

Start a project, then keep building it

out=$(vibekit task "build a landing page with an email signup" --json)
id=$(echo "$out" | jq -r .taskId); repo=$(echo "$out" | jq -r .repo)
vibekit wait "$id"
vibekit task "add a pricing section" --repo "$repo"

Commit without deploying

vibekit task "add a /health route that returns 200" --repo vibekit-apps/your-project --no-deploy

Recurring work on a deployed project

vibekit schedule "check every page for broken links and fix them" --repo vibekit-apps/your-project --every "0 9 * * 1"

Each run is the project's own agent working in its workspace, billed like a chat message. Its report is posted in the project's chat and sent to you as a notification. daily is 9:00 UTC and weekly is Monday 9:00 UTC.

CI integration

# In a GitHub Action, kick off a task on one of your VibeKit projects
- run: vibekit task "run the tests and fix anything that fails" --repo vibekit-apps/your-project
  env:
    VIBEKIT_API_KEY: ${{ secrets.VIBEKIT_API_KEY }}

How this fits with the other packages

The CLI's sweet spot is shell-driven automation: scripts, cron, CI pipelines. The MCP server's sweet spot is in-editor agent workflows. Both call the same underlying API.

FAQ

What does vibekit-cli do?

It's a terminal client for the VibeKit task API. You can fire off a cloud coding task that starts a new project or continues one of yours ('add a signup form to my landing page'), wait for it to complete, and check status; the task commits its change and deploys it unless you pass --no-deploy. Useful for automating agent workflows that don't fit into the iOS or web UI.

Does it deploy hosted apps?

A task deploys its result by default. For the rest of the hosted-app lifecycle (create, redeploy, restart, env vars), use the MCP server or the REST API directly. The CLI is focused on task dispatch. The two systems overlap but the CLI's sweet spot is shell-driven automation.

How do I authenticate?

Run `vibekit auth vk_...` with the VibeKit API key from your Profile page. It saves the key to ~/.vibekit/config.json (or set VIBEKIT_API_KEY instead), and every command uses it.

Does this replace vibekit-agent?

No, they do different jobs. `vibekit-agent` runs on your laptop so the VibeKit iPhone app can drive Claude Code or Codex there. `vibekit-cli` sends cloud coding tasks that run on VibeKit against a project repo VibeKit manages, from any machine or CI. Neither dispatches work to the other.

Drive your agents from your shell
npm i -g vibekit-cli · vibekit auth · vibekit task "fix the 500 on /api/users"
Get an API token →