Getting started
Introduction
spawn gives every AI agent a computer of its own: a Firecracker microVM with its own kernel, memory and disk, created with one API call and gone without a trace when you’re done.
Your agent asks for a sandbox, runs code and shell commands in it, opens a terminal, an IDE or a preview of a web server it started, and destroys it. In between, you can pause a sandbox to stop paying for its CPU and memory and resume it later with its disk intact.
Using Claude Code? The spawn CLI does all of this from your terminal: it uploads your project to a sandbox, runs Claude there and brings the changes back.
How it fits together
Everything is a plain HTTPS + JSON API. A sandbox moves through a small lifecycle, and every call is scoped to the API key that created it:
POST /session create a sandbox (returns when it's ready)
POST /session/{id}/run run Python, Node or Bash source
POST /session/{id}/exec run a shell command
POST /session/{id}/pause snapshot it and release CPU and memory
POST /session/{id}/resume restore it where it left off
DELETE /session/{id} destroy the VM and wipe its diskThe API calls a sandbox a session in its paths and responses (/session, session_id). They are the same thing.
What “isolated” means here
- Each sandbox is its own Firecracker microVM on a KVM host, with its own guest kernel. Nothing runs in a shared container runtime.
- Each one gets its own cgroup and network namespace on the host, and its own copy-on-write writable disk.
- Code you run reaches the guest over vsock through an agent inside the VM; there is no SSH and no inbound port to the VM.
- Destroying a sandbox deletes the VM and its writable disk. Only an audit record of the sandbox remains.