Deploy your app from Claude Code in one command
Claude Code writes the app. That part is solved. The problem is what comes next: where does it actually run?
Most people end up wiring Railway, Vercel, or a VPS together by hand, provisioning a database, copying connection strings into environment variables, and hoping the logs make sense when something breaks at 2am. Lizard is built for that moment. One command puts your Claude Code app in production with managed services behind it, and every command answers in JSON so the agent can keep working without you.
What "Claude Code deployment" actually means
Claude Code is a coding agent. It reads your codebase, writes code, runs tests, and iterates. What it does not do is provision a server, start a Postgres instance, or configure a Redis cache. That is a separate problem, and most tutorials quietly skip it.
The gap usually looks like this:
-
Claude Code writes the app → your machine has a working codebase
-
You need production infrastructure → a server, a database, object storage, secrets, logs
-
Most guides stop at "push to GitHub" → the rest is on you
Anthropic's own docs cover deploying Claude Code itself inside a company: SSO, permissions, cloud routing. Useful if you're rolling the agent out to 500 engineers. Not useful if you're one person who wants the app the agent just wrote to be live tonight.
That second half, the servers and databases and the logs that come back from them, is what Lizard handles.
How Lizard handles Claude Code deployment
Lizard is built around the agent loop rather than bolted onto a human one. The point is that Claude Code can deploy, read what happened, and fix it without handing you a stack trace.
-
One command to deploy, one to add services.
lizard updetects your stack, builds it on Lizard's build nodes, and boots it in a Firecracker micro-VM with a*.onlizard.comdomain and TLS.lizard add postgres redis s3provisions all three and sets the environment variables on the service. No Dockerfile needed, no YAML. -
Git push to deploy. Attach a repo with
lizard add -r owner/repoand every push to the tracked branch rebuilds and redeploys. -
JSON on every command. Deploys, logs, events, metrics, secrets, scaling: add
--jsonand the agent parses the answer instead of scraping a terminal.lizard logs --level error,lizard logs --restarts, andlizard eventsgive it the crash history without a dashboard. -
The agent guide ships inside the CLI.
lizard skills get corereturns instructions matched to the installed version, so your agent never works from a stale copy of the docs. -
A command inside the running app.
lizard ssh "printenv"runs a command inside the live micro-VM. When production behaves differently from local, the agent can look instead of guessing. -
Sandboxes for generated code. Throwaway Firecracker micro-VMs you create on demand and pause. Pausing snapshots memory, filesystem, and running processes, so resuming continues where it stopped rather than reinstalling packages. When the code works, promote it to a real service with
lizard up. -
Per-second billing you can watch.
lizard metricsshows CPU, memory, network, disk, and cost per service while it runs, so the bill is something the agent can read mid-session, not a surprise at the end of the month.
Claude Code hosting shouldn't need a platform team. With Lizard it doesn't.
Deploy from Claude Code in 3 steps
Step 1: Install the CLI and the skill
Tell Claude Code to run these, or run them yourself:
npm i -g @lizard-build/cli
npx skills add lizard-build/skill -gThe skill teaches any agent the whole lifecycle and pulls its instructions from the installed CLI. The free plan comes with $5 of credit and no credit card. Paid plans start at $5 a month.
Step 2: Deploy the app
From the project directory:
lizard uplizardpack detects the stack (Go, Node, Python, Rust, Ruby, PHP, Java, or a static site), writes a real multi-stage Dockerfile on the build node, and boots the result in its own micro-VM. If your repo already has a Dockerfile with a build step, that one is used as is. Backing services are one more line:
lizard add postgres redis s3All three are provisioned and wired in as environment variables. Keep them in the same region as the app, which lizard regions will list.
Step 3: Let the agent read what happened
lizard logs # runtime logs, streaming
lizard logs --build --json # why the build failed
lizard logs --level error # errors only
lizard logs --restarts # restart history, for crash loops
lizard metrics --json # CPU, memory, network, disk, and cost
lizard ssh "printenv" # look inside the running VM
lizard redeploy # try againEvery one of these takes --json. The agent reads the output, changes the code or the config, and redeploys in the same session. That is the loop: write, deploy, look, fix, repeat.
Claude Code deployment compared with the alternatives
An honest table. Railway, Vercel, and Fly are all good products, and the marketing version of this comparison would not survive ten minutes on Hacker News.
| Lizard | Railway | Vercel | Fly.io | |
|---|---|---|---|---|
| Unit of deployment | Long-lived process in a Firecracker micro-VM, plus ephemeral sandboxes | Long-lived container | Function, 300s by default, 800s max on Pro | Long-lived micro-VM |
| Managed Postgres, Redis, S3 | All three, first-party, one command | Postgres and Redis, first-party | Marketplace: Neon, Upstash, Supabase | Managed Postgres, Upstash Redis, Tigris |
| Structured output for agents | --json on every command, plus a version-matched skill inside the CLI | MCP server and CLI | --json on CLI subcommands, MCP server | CLI, JSON on many commands |
| Shell into a running app | lizard ssh | railway ssh | No shell into a function | fly ssh console |
| Sandboxes for generated code | Yes, with snapshot pause and resume, same CLI | No | Vercel Sandbox, separate product | No |
| Billing granularity | Per second | Per second | Active CPU by the millisecond | Per second while running |
Railway is the closest thing to a like-for-like alternative and has excellent DX. Vercel is the right answer for a Next.js frontend with light backend needs. Fly gives you more control over placement and networking if you want to operate it.
What is actually different here: sandboxes and production services are the same platform and the same CLI, the agent can open a shell in the running VM, and its instructions come out of the CLI itself, so they never drift from the version installed. If your workflow is write, deploy, iterate, that shortens the loop more than any feature checkbox.
Works with Cursor and Codex too
Nothing above is Claude-specific. In Cursor the deploy step is the same lizard up from the project root, and the same --json output comes back for the agent to read. With OpenAI Codex it is identical again: Codex writes the code, Lizard runs it, provisions the services, and reports what happened in a format a program can parse. One platform, any agent, same commands.
Frequently asked questions
Do I need to configure anything before deploying from Claude Code?
No config files. Run lizard up and the stack is detected, built, and booted. Databases are one extra line, lizard add postgres redis s3, and their connection strings arrive as environment variables on the service. Both commands are things the agent can run on its own.
What happens when my Claude Code app crashes in production?
The agent has three places to look, all of them --json capable: lizard logs --level error for what the app printed, lizard logs --restarts for the restart history when it is a crash loop, and lizard events for deploy history and replica status. If that is not enough, lizard ssh opens a shell inside the running micro-VM. The fix and the redeploy happen in the same session, with nothing pasted into a chat window.
Can I migrate an existing app from Railway or Render to Lizard?
Yes, and the agent can do most of it. Install the skill with npx skills add lizard-build/skill -g, then ask it to migrate: it recreates the services, provisions Postgres, Redis, and S3, moves the secrets, attaches the domains, and imports the data. You review the result.
Is there a free tier?
The free plan includes $5 of credit and asks for no card. A small side project, one web service and one Postgres instance with light traffic, fits inside it. Paid plans start at $5 a month.
Does Lizard work with any language or framework?
lizardpack reads the repo and detects Go, Node, Python, Rust, Ruby, PHP, Java, and static sites, then writes a multi-stage Dockerfile for it. Start command comes from a Procfile or package.json, and the port from EXPOSE, a framework default, or PORT. If you would rather control the build yourself, commit a Dockerfile with a real build step and it is used unchanged.
Can my agent run untrusted code somewhere safe?
That is what sandboxes are for. Each one is a Firecracker micro-VM created on demand, isolated by hardware virtualization, and disposable. Pause it and the full state is snapshotted; resume and it continues. Promote a working sandbox to a service with lizard up.
Ship your Claude Code app in one command. Try Lizard free → No credit card required.
Useful sources
Build with AI. Ship with Lizard.
You don't need a platform team to go live. Your whole cloud, one CLI command away.
No credit card required