CLI ReferenceOverview

CLI Reference

Lizard CLI (lizard) deploys and manages apps, databases and Sandboxes on Lizard from a terminal, a CI job or a coding agent. This page covers installation, global flags, exit codes, and runtime discovery. Each command has a reference page in the sidebar. See lizard up, lizard service, lizard secrets, lizard pause and lizard resume, lizard sleep, and the rest. For an overview of what the CLI does, see the Lizard CLI page.

Reference written for Lizard CLI v4.0.65. Run lizard <cmd> --help --json for the exact, version-matched schema of any command.

Install & upgrade

curl -fsSL https://lizard.build/install.sh | bash   # macOS and Linux
lizard --version
lizard upgrade            # update to the latest version
lizard upgrade --check    # check without installing

See lizard upgrade for the flags.

On Windows, run irm https://lizard.build/api/cli/install.ps1 | iex in PowerShell. With Node.js you can install from npm instead: npm install -g @lizard-build/cli.

On macOS and Linux, the binary from the install script also updates itself in the background, at most once every 6 hours, but only when it runs in an interactive terminal. It skips the check when CI or LIZARD_NO_UPDATE=1 is set. Agents, scripts and CI jobs never update in the background, so run lizard upgrade there yourself. The Windows binary does not update itself: run the installer again. For an npm install, lizard upgrade runs npm for you and prints the npm command only if that fails.

Use the globally installed lizard binary rather than npx. See Quickstart for permission-error fixes.

Authentication

lizard login                  # GitHub or Google in the browser, then the Pro trial offer
lizard login --token liz_xxx  # API key auth
lizard logout
lizard whoami                 # current user, workspace, linked project

Reference pages: lizard login, lizard logout, lizard whoami, and lizard workspace to list and create workspaces.

API keys start with liz_. Create one with lizard keys create <name>. In CI, set LIZARD_TOKEN (or LIZARD_API_KEY) in the environment instead of running login.

Global flags

FlagDescription
-V, --versionPrint the CLI version
--jsonMachine-readable output. Combine with --help to dump a command’s schema

Most commands also accept -p, --project and -s, --service to target a specific resource instead of the linked one. In a folder that is not linked, they use your default project. init, link, and project also take -w, --workspace. lizard add has no --project: it uses the linked project or the default one.

Exit codes

CodeMeaningWhat to do
0successcontinue
1generic errorread the message
2auth (401/403)run lizard login
3not found (404): the API has nothing with that IDcheck the ID with lizard ps / lizard project list
4timeout (408/504)retry
5cancelled by userstop

A project or service name that matches nothing exits 1, not 3. lizard run, lizard sandbox exec and lizard sandbox ssh exit with the command’s own code (127 when run can’t find the command), so a 2 from them may come from your command, not from auth.

Runtime discovery

The CLI is self-documenting. To see the full command tree, global flags, and exit codes:

lizard --help --json

For any command or subcommand’s exact arguments and options:

lizard <cmd> --help --json
lizard <cmd> <sub> --help --json     # e.g. lizard service set --help --json

The output lists the arguments and flags your installed version accepts. It is also how an agent learns the CLI without being trained on it: see deploying from Claude Code.

Configuration & state

  • The CLI stores auth and each folder’s project link in ~/.lizard/config.json. A link covers that exact folder, not its subfolders. In a folder with no link, project commands use your account’s default project: the oldest project in your personal workspace.
  • lizard status shows the cwd’s workspace/project/service link (no auth required). lizard link sets that link, lizard unlink removes it, and lizard project lists, creates, pauses, resumes, and deletes projects.
  • lizard config apply applies a lizard-config.json file to a project (use --dry-run to preview).
  • lizard open opens the linked project in the dashboard, and lizard docs opens these docs.

Environment variables

VariableEffect
LIZARD_TOKENAPI key or token to use instead of the stored login
LIZARD_API_KEYSame as LIZARD_TOKEN
LIZARD_API_URLAPI base URL (default https://lizard.build)
LIZARD_HOMEKeep CLI state in $LIZARD_HOME/.lizard instead of ~/.lizard
LIZARD_NO_UPDATETurn off background self-update
CIAlso turns off background self-update
LIZARD_SKILLS_DIRRead skills from this directory instead of the ones built into the CLI

Sandbox volumes

Use names to manage Persistent Volumes within a project. Full reference: lizard volume and lizard sandbox.

lizard volume create agent-workdir --size 10 --project proj_123
lizard volume list --project proj_123
lizard volume resize agent-workdir --size 20 --project proj_123
lizard sandbox create --volume agent-workdir --project proj_123

Names are unique per project: lowercase letters, digits and dashes, starting and ending with a letter or digit, up to 64 characters. New volumes allow whole GB from 1 to 50, default 5. The CLI reads the server’s current limits before creating a volume, so it follows config changes. Existing larger volumes keep their size.

After detaching a volume, lizard volume rm agent-workdir --project proj_123 deletes it and its data. volume list shows names; --json includes generated IDs.

Updated