Overview
Sandboxes are the foundation of RunTools. Each sandbox is an isolated Firecracker microVM that provides:- Full Linux environment with root access
- Hardware-level isolation via KVM (not containers)
- Network access with public dev server URLs
- Pause/Resume with sub-second snapshot restore
- SSH access via
ssh sandbox-id@ssh.runtools.ai - Desktop environment (optional) with XFCE4 + VNC
Creating a Sandbox
Templates
| Template | Description | Size |
|---|---|---|
base-ubuntu | CLI environment — Bun, Node.js, common dev tools | ~400MB |
desktop-ubuntu | Full XFCE4 desktop + KasmVNC + Firefox ESR + Plank dock | ~1GB |
Custom templates (Dockerfile-based) are planned but not yet available. If you need a specialized environment, use
base-ubuntu and install packages via sandbox.exec() or SSH.Executing Commands
Dev Server URLs
Every sandbox gets public URLs for any port via Caddy reverse proxy:localhost for Vite/Next.js compatibility.
Pause and Resume
Save money by pausing sandboxes when not in use:Auto-Pause (Idle Timeout)
Sandboxes auto-pause after 10 minutes of inactivity (configurable). Activity is detected from:- Command execution
- SSH connections
- VNC connections
- Dev server traffic
- CPU usage above 5%
SSH Access
Register your SSH key once, then access any sandbox:Desktop / VNC Access
Desktop sandboxes (desktop-ubuntu template) include a full XFCE4 desktop accessible via VNC in your browser:
- XFCE4 with Orchis Dark theme
- Firefox ESR
- Plank dock (macOS-style)
- KasmVNC web client (no VNC client needed)
- xdotool, scrot, imagemagick for computer-use agents
Real-Time Monitoring
The SDK provides real-time status and metrics via Convex WebSocket:Snapshots
Create named snapshots and rollback:Lifecycle
| State | Description |
|---|---|
creating | VM is booting (~5 seconds cold start) |
running | Ready for commands, SSH, VNC |
paused | State saved to disk, zero compute cost |
stopped | Terminated and cleaned up |
Resource Configuration
| Resource | Default | Configurable |
|---|---|---|
| vCPUs | 2 | Yes (--vcpus) |
| Memory | 1 GB (CLI), 2 GB (desktop) | Yes (--memory) |
| Disk | 2 GB sparse overlay | Fixed per-VM |
| Network | Full internet + VPC | Automatic |
Best Practices
Use auto-pause for cost savings
Use auto-pause for cost savings
The default 10-minute idle timeout auto-pauses inactive sandboxes. Resume takes under 1 second.
Register SSH keys for your team
Register SSH keys for your team
Each team member should register their SSH key once. Then they can access any sandbox without passwords.
Use desktop template for GUI tasks
Use desktop template for GUI tasks
Need a browser, GUI app, or computer-use agent? Use
desktop-ubuntu instead of trying to run GUI apps in base-ubuntu.Destroy sandboxes you don't need
Destroy sandboxes you don't need
Even paused sandboxes consume disk space for their snapshots. Destroy them when you’re done.