v0.11.1 — Time-travel debugging for AI sandboxes

Rewind your agent's sandbox
to any previous step

Every command your agent runs is recorded, snapshotted, and restorable. Hardware-isolated Firecracker microVMs by default — or a local backend with the same rewind/diff workflow on machines that can't run one, including macOS.

bunkervm

Time-travel debugging

Record every command. Snapshot VM state after each one. Rewind to any step — memory, variables, and filesystem restore instantly. Not a re-run: an actual restore from a Firecracker snapshot.

rewind.py
from bunkervm import Sandbox

with Sandbox(record=True) as sb:
    sb.run("x = 1")
    sb.run("x = x + 10")
    sb.run("x = x * 100")
    sb.run("print(x)")              # 1100

    sb.restore(2)                     # ⏳ rewind to step 2
    sb.run("print(x)")              # 11
📋

Record

Every command, its output, and a filesystem trace — captured automatically with record=True.

Restore

Rewind to any step. Real Firecracker snapshot restore, not a replay — memory and filesystem included.

🔍

Diff

bunkervm diff session-a session-b — see exactly where two agent runs diverged.

📊

Compare

bunkervm compare a b c — rank several agent runs by outcome, risk, and time. No judge model, just what actually happened. See a real example →

Hardware isolation where you can, everywhere else too

Firecracker needs KVM — Linux natively, Windows via WSL2. macOS can't run it at all. The local backend trades isolation for reach: same record/rewind/diff workflow, zero setup, anywhere Python runs.

Firecracker Sandbox()

Hardware isolation (KVM microVM)
Full VM state restore
Linux, or Windows + WSL2
Needs /dev/kvm, ~100MB bundle

Local backend="local"

No isolation — plain subprocess
Namespace + working-dir restore
Any platform, incl. macOS
pip install and go — nothing else

Never chosen automatically — you ask for it (backend="local", --local), and BunkerVM tells you which one is active every time.

~100MB
Bundle size
~5s
Boot time
<100ms
Snapshot restore
8
MCP tools

How the agent connects

Your AI talks to BunkerVM over MCP. BunkerVM boots a Firecracker MicroVM and relays commands over vsock. The agent never touches your host.

🤖

AI Agent

Claude, GPT, LangGraph

MCP
stdio
⚙️

bunkervm

Host process

vsock
isolated
🛡️

Firecracker VM

Alpine Linux sandbox

Everything your agent needs

Eight MCP tools give full Linux environment access — including file transfer between host and VM. All commands run inside the VM — never on your host.

sandbox_exec

Run any shell command — Python, bash, curl, whatever the agent needs.

sandbox_write_file

Create or overwrite files inside the VM filesystem.

📄

sandbox_read_file

Read file contents back from the VM to the agent.

📁

sandbox_list_dir

Browse the VM directory tree.

📈

sandbox_status

Check VM health — CPU, RAM, disk, uptime.

📤

sandbox_upload_file

Upload files from your host into the VM.

📥

sandbox_download_file

Download files from the VM back to host.

🔄

sandbox_reset

Wipe everything. Clean slate in seconds.

VMs vs Containers

Containers share your kernel. A VM escape is orders of magnitude harder than a container escape.

BunkerVM MicroVM

Separate kernel — hardware boundary
Near-zero escape risk
pip install — done
No cloud, no API keys
Optional internet access

Docker Container

Shared kernel with host
Container escapes exist
Faster boot (~0.5s)
Huge ecosystem
More mature tooling

VS Code + Copilot — 2 commands

Every line of code Copilot runs — hardware-isolated. No extensions to install. No WSL commands to learn.
Works on Windows, Linux, and WSL. On Windows, vscode-setup auto-installs BunkerVM inside WSL for you.

Setup — any platform, any terminal
$ pip install bunkervm
$ bunkervm vscode-setup

  Platform:  Windows + WSL2 (Ubuntu)
   BunkerVM in WSL: ready
   Created .vscode/mcp.json

  Reload VS Code → Open Copilot Chat → Done.

Windows users: Just run these in PowerShell. vscode-setup creates an isolated Python venv inside WSL, installs BunkerVM there, and generates the config. You never touch WSL directly.

See it in action:

Want internet inside the VM? One command:

$ bunkervm enable-network  # auto-proxies to WSL on Windows

Copilot Chat gets 8 sandboxed tools:

sandbox_exec sandbox_write_file sandbox_read_file sandbox_list_dir sandbox_upload_file sandbox_download_file sandbox_status sandbox_reset

Claude Desktop config

Add this to your config file. On first run, BunkerVM downloads the micro-OS automatically.

💻 Windows (WSL2)
{
  "mcpServers": {
    "bunkervm": {
      "command": "wsl",
      "args": ["-d", "Ubuntu",
        "--", "bunkervm",
        "server"]
    }
  }
}
🐧 Linux / macOS
{
  "mcpServers": {
    "bunkervm": {
      "command": "bunkervm",
      "args": ["server"]
    }
  }
}

MCP, plus your existing agent code

Full MCP support for any compatible client, plus lightweight single-tool adapters for LangChain and the OpenAI Agents SDK — no separate toolkit to learn.

VS Code + Copilot
Claude Desktop
LangChain
OpenAI Agents SDK
Any MCP Client

Current limitations

It works, but it's early.

Needs sudo (Firecracker mode)
x86_64 only (Firecracker mode)
Real isolation requires KVM / WSL2 — the local backend has none

Ready to rewind your agent?

pip install bunkervm