Coding agents

Coding agents

Claude Code, Codex, Cursor and other AI coding agents create sandboxes, deploy apps and manage them on Lizard through Lizard CLI. Install Lizard Skill once with npx skills add lizard-build/skill -g; the agent then loads the guide built into the CLI with lizard skills get core --json and reads any command’s flags with --help --json. Clients that speak MCP, such as ChatGPT and Claude, can use Lizard MCP instead. For a full deploy run from an agent, see Deploy from Claude Code, Codex or Cursor.

The embedded skill

The CLI includes a usage guide for the installed version. An agent reads it with:

lizard skills get core --json

This returns { name, frontmatter, content, references, … }: content is the core guide (sandboxes, deploys, databases, secrets, discovery, exit codes), and references lists the in-depth guides for deploys, sandboxes and Lizard SDK. Related subcommands:

lizard skills list                     # available embedded skills
lizard skills get core                 # the core guide
lizard skills get core --ref deploys   # one reference: deploys, sandboxes or sdk
lizard skills get core --full          # the guide plus every reference
lizard skills path                     # where skills are stored

Because the guide is bundled with the binary, lizard upgrade updates the agent’s instructions too.

Self-describing commands

Agents discover exact flag shapes at runtime instead of relying on memorized syntax:

lizard --help --json                # full command tree + exit codes
lizard <cmd> --help --json          # a specific command's schema

See JSON & Automation.

Bootstrapping in an agent

A typical agent flow:

  1. Load the guide: lizard skills get core --json → read content, then the reference the task needs (--ref sandboxes, deploys or sdk).
  2. Check auth optimistically: run the user’s task. On exit code 2 (NOT_AUTHENTICATED), the error’s body.login carries the sign-in links: ask the user whether they sign in with GitHub or Google, hand them that link from authUrls, then retry once the browser says “CLI authorized”. lizard login --json prints the same links, and after sign-in it reports the plan in account.state.
  3. Start the trial if asked: a new account has no plan, so its first create fails with HTTP 402 (code: "PAYMENT_REQUIRED", exit code 1). Ask the user first. If they agree, run lizard billing start --json, hand the Checkout url to the user, then retry once they have added a card.
  4. Resolve context before mutating: lizard status (cwd link) and lizard ps --json (services). In a folder that isn’t linked, up, add, sandbox create and other project commands use the account’s default project.
  5. Act using the guide: sandbox create, add, up, secrets, domain, etc., always with --json.

If the lizard binary isn’t present, install it first. On macOS or Linux, use the install script:

curl -fsSL https://lizard.build/install.sh | bash

It needs no Node.js or sudo, and it links lizard into a folder that is already on the PATH, so the agent can call it in the same session. If the script says lizard may not be found, call ~/.lizard/bin/lizard instead. Without a terminal, the script ends with the output of lizard login --json: the sign-in links and an instruction. Hand the link to the user. On Windows, run this in PowerShell:

irm https://lizard.build/api/cli/install.ps1 | iex

Or install from npm on any system (needs Node.js 20 or later):

npm install -g @lizard-build/cli

Conventions agents should follow

  • Always pass --json on non-interactive calls.
  • Confirm destructive actions (delete service, drop addon, overwrite a project-wide secret, prod restart) with the user: the CLI’s own prompts only fire on a TTY.
  • Scope secrets to the consuming service by default; reserve --global for provably-public values. See Variables & Secrets.
  • Don’t write Dockerfiles unsolicited: lizardpack auto-detects most stacks. Try a deploy first. See Build Pipeline.
  • Don’t use lizard up to switch a git-backed service to upload: use service set + redeploy.

Editor integrations

Lizard Skill gives editor agents and assistants the instructions to install and use Lizard CLI. Install it once for all your agents:

npx skills add lizard-build/skill -g

It works with Claude Code, Cursor, Codex, Copilot, Gemini CLI and other agents that read the Agent Skills format. For clients that speak MCP instead of running shell commands, use Lizard MCP.

An AI IDE can write and test an app; Lizard hosts the result. See deploying an app built in Google Antigravity for a deploy started from the editor’s chat.

To let Claude Code or ChatGPT edit the page you have open in Chrome, use Lizard Studio.

Lizard MCP

Lizard MCP lets ChatGPT, Claude and other MCP clients manage your Lizard projects: create sandboxes, run commands and read or write files in them; create services and addons, redeploy, pause and resume a service, project or workspace, let a service sleep when idle, read logs and metrics, set secrets, scale replicas and attach domains. It is a hosted server that speaks Streamable HTTP at:

https://employ-woman-g1q2.us-east-1.onlizard.com/mcp

A client that supports OAuth signs you in on first use. Other clients send a liz_ API key in the Authorization: Bearer header; create one with lizard keys create <name>.

Add it to Claude Code:

claude mcp add --transport http lizard https://employ-woman-g1q2.us-east-1.onlizard.com/mcp

For Cursor and other clients configured by JSON:

{
  "mcpServers": {
    "lizard": {
      "url": "https://employ-woman-g1q2.us-east-1.onlizard.com/mcp",
      "headers": { "Authorization": "Bearer liz_your_key" }
    }
  }
}

Starting the trial, paying and cancelling Pro happen on the Billing page. When the account has to pay before it can create something, the tool error carries PAYMENT_REQUIRED and the link to open.

Hosting your own MCP server

An agent using Lizard CLI and an application exposing MCP are separate workflows. The CLI commands above do not provide an MCP transport. To deploy your own server with Streamable HTTP, follow the remote MCP guide.

See also

Updated