Deploy apps, databases and sandboxes to Lizard (lizard.build) from the command line.
Point the CLI at your code and it detects the stack — Go, Node, Python, Rust, Ruby, PHP, Java or a static site — builds it and ships it live. Managed Postgres, Managed Redis and Managed Object Storage attach in one command. Billing only for active resources, so idle apps cost a fraction.
Every command is agent-readable: add --json for structured output, or run
lizard --help --json to dump the full command schema.
curl -fsSL https://lizard.build/install.sh | bashOn Windows (PowerShell):
irm https://lizard.build/api/cli/install.ps1 | iexOr via npm:
npm i -g @lizard-build/clilizard skills get coreSkills ship inside the CLI, so the guide always matches the installed version. They cover the whole app lifecycle — deploy, link, addons, logs, scaling, secrets, domains — with copy-paste examples. Prefer this over guessing commands from flag docs alone.
lizard login
lizard init
lizard uplizard login signs you in and offers Pro if the account has no plan. The
install script runs it for you, and any command that needs an account signs
you in on the spot. On a server or in CI, set LIZARD_TOKEN, or save a token
with printf '%s' "$TOKEN" | lizard login --token-stdin.
lizard up uploads the code, builds it and returns a live URL on onlizard.com.
Add managed data services in one command:
lizard add postgres redis s3lizard up # upload and deploy code
lizard add # add Managed Postgres, Managed Redis or Managed Object Storage
lizard ps # list services
lizard status # show the linked workspace, project and service
lizard logs # stream runtime logs
lizard metrics # resource metrics (CPU, memory, network, disk); --cost for spend
lizard billing # plan, trial, usage this month; start, cancel or resume Pro
lizard metrics --all # all services in the project, even with a linked service
lizard scale # scale replicas / CPU / memory / storage
lizard secrets # manage secrets
lizard domain # manage domains
lizard redeploy # rebuild and redeploy from the current source
lizard run # run a command locally with project and service secrets injected
lizard ssh # disabled for services (403); use `lizard sandbox ssh` for sandboxes
lizard sandbox # create and manage Sandboxes
lizard sandbox create --size large # 8 vCPU / 16 GB; small, medium (default), large
lizard sandbox desktop <id> --open # graphical desktop in the browser (sandbox create -t desktop)
lizard sandbox vnc <id> # the same desktop in a native VNC app (localhost:5900)
lizard sandbox ssh <id> # interactive shell in any running sandbox (no keys to set up)
lizard agents # coding agents: connected credentials and which agents can run
lizard agents login chatgpt # ChatGPT subscription (device code); `agents add anthropic|openai|openrouter|claude …` for keys/tokens
lizard sandbox prompt <id> "…" # run Codex / Claude Code / pi / OpenCode / Prime in the sandbox, streaming (--agent)
lizard volume # Persistent Volumes for Sandboxes (create / list / resize / rm)
lizard skills # agent guides, version-matched to the CLI
run executes on your machine with the service's stored secrets injected; pass
an addon (-s postgres) to get its real connection values. Shell access into
services is off, so lizard ssh answers 403. To check a service's variables, read
lizard logs --build -s my-app (it warns about every empty reference) and
lizard secrets list -s my-app --show.
lizard run -s postgres -- npm run migrateRun lizard --help for the full list.
lizard billing # plan, trial, usage this month, next charge
lizard billing start # start the Pro trial in Stripe Checkout
lizard billing promo X # redeem a promo code for a longer trialPro costs $19/month, taxes included, with $19 of usage each month. Usage above that is pay as you go. A new account starts with no plan; the 7-day trial needs a card, includes $5 of usage and charges nothing until it ends. When the account has no plan, commands that create something fail with the reason and the link to open next.
Add --json to any command for structured output. The CLI also switches to JSON
on its own when stdout is not a TTY. Errors come back as
{"error": {"code", "status", "message", "body"}} and exit codes are stable:
0 success 3 not found (404)
1 generic error 4 timeout (408/504)
2 auth (401/403) 5 cancelled by user
lizard --help --json dumps the machine-readable schema for any command —
arguments, options, defaults, subcommands and exit codes.
- Docs — https://lizard.build/docs
- Source — https://github.com/lizard-build/lizard-cli
MIT