Snapshot Restore Is the Missing Agent Sandbox Primitive
Arrakis maps to joelclaw's agent-loop sandbox boundary: MicroVM-isolated execution plus snapshot/restore checkpoints for multi-step agents.
Abhishek Bhardwaj shared his AI Engineer talk, “Arrakis: How To Build An AI Sandbox From Scratch”, and the useful part isn’t “a sandbox exists.” Arrakis is a self-hostable Go service for spinning up Ubuntu sandboxes behind a REST API, Python SDK, and MCP server. It uses cloud-hypervisor MicroVM isolation, boots each sandbox with code execution and VNC/Chrome for computer-use agents, and handles port forwarding so clients can reach the GUI.
The clever bit is backtracking as a first-class runtime operation. Arrakis snapshots a running sandbox and restores the exact previous state: files, processes, and all. That means an agent can branch, retry, or explain a multi-step path without pretending a pile of logs is state. The README calls out Monte Carlo Tree Search agents directly, which is the right smell: exploration needs rewind, not just “run this command in Docker and pray.”
Useful? Yes, but not as a drop-in. The repo is AGPL-3.0, Linux-only because cloud-hypervisor needs /dev/kvm, and it’s still an infra substrate, not a productized agent OS. For joelclaw, the thing to steal is the primitive: sandbox sessions should have named checkpoints and restorable branches, especially around long-running agent loops where one bad step shouldn’t poison the whole run.
Key Ideas
- Arrakis treats sandboxes as managed runtime objects with a REST API, CLI client, Python SDK, and MCP server.
- MicroVM isolation via cloud-hypervisor gives agents a stronger boundary than a naked host shell for untrusted or buggy code.
- Snapshot-and-restore turns a sandbox into branchable execution state, which matters for multi-step agents, Monte Carlo Tree Search, retries, and explainable execution traces.
- Built-in VNC, Chrome, and automatic port forwarding make it relevant for computer-use agents, not just command-running agents.
- The AGPL-3.0 license and Linux/
/dev/kvmrequirement are important adoption constraints, not footnotes.
Links
- Source X post by Abhishek Bhardwaj
- Abhishek Bhardwaj on X
- Abhishek Bhardwaj on GitHub
- Abhishek Bhardwaj on LinkedIn
- Arrakis GitHub repo
- Arrakis README
- Arrakis REST API spec
- Arrakis releases
- Arrakis detailed README
- Arrakis GCP setup guide
- Arrakis MCP server
- py-arrakis on PyPI
- py-arrakis GitHub repo
- AI Engineer talk: Arrakis: How To Build An AI Sandbox From Scratch
- Arrakis demo: Claude uses Arrakis to create a live Google Docs clone
- AI Engineer YouTube channel
- cloud-hypervisor
- Firecracker MicroVM
- noVNC
- Model Context Protocol