How it works
Every boxd VM is a KVM microVM with its own kernel, network stack, and disk. Not a container. The agent can run Docker, install kernel modules, edit/etc, restart systemd, open ports, and break the OS without taking down anything else.
Fresh boots take ~50ms. Forks land in ~160ms and inherit the parentâs exact disk, processes, and memory. Resume from suspend is sub-millisecond. So the loop âsnapshot, hand off, fork on retry, destroy when doneâ actually feels instant.
Inside the VM the agent has the boxd CLI on its PATH, pre-authenticated by source IP. It can create siblings, exec into them, manage proxies, and list VMs without needing a key or a token. JSON output everywhere so the agent can parse what it ran.
Thatâs the whole pitch. The setup is one command.
Run a task
Boot a sandbox, hand a job to Claude Code non-interactively, get a structured result back:https://task-1.boxd.sh the moment a port opens. To take over interactively, drop in and resume the session:
boxd destroy task-1 and the disk goes with it.
Patterns
Fork before risky ops
Snapshot the VM before the agent does something destructive. If the run fails, fork the parent again and retry. The parent never changes.Fan out across many VMs
Run the same task in parallel and pick the best output. Every result has its own URL.Destroy on completion
Wire the destroy step into your PR-close hook or the agentâs exit path. Youâre billed for what you run, so kill VMs you donât need.FAQ
What stops an agent from breaking out?
What stops an agent from breaking out?
The microVM boundary is the same one your laptopâs hypervisor uses. The agent has root inside its VM, no path to the host or to other VMs. Internet egress is the only shared surface.
How many sandboxes can I run at once?
How many sandboxes can I run at once?
Ten VMs by default, extendable on request. Each gets 2 vCPU, 8 GiB RAM, 100 GB disk.
Can the agent install kernel modules or run Docker?
Can the agent install kernel modules or run Docker?
Yes. Real kernel, real
systemd, real Docker. Nesting works because thereâs no container in the way.How do I recover a run that went wrong?
How do I recover a run that went wrong?
If you forked from a golden, just
boxd destroy the bad fork and fork again. The golden is untouched.Next
Fork from a golden
Warm copies of your app in ~160ms. The sandbox source.
Fix-on-issue loop
The full end-to-end agent loop on GitHub issues.