Overview
Sandboxes are the foundation of RunTools. Each sandbox is an isolated microVM that provides:- Full Linux environment with root access
- Flexible mounts — ephemeral by default, add persistent storage as needed
- Network access for dev servers and APIs
- Pause/Resume with instant snapshot restore
- SSH and VNC access for debugging
Creating a Sandbox
Mounts
By default, sandboxes use ephemeral storage — fast and simple, but data is lost when the sandbox is destroyed. For persistent data, add mounts:| Config | Behavior |
|---|---|
No mounts | Ephemeral. Fast startup. Data deleted when sandbox destroyed. |
With mounts | Persistent. Data survives across sandbox lifecycle. |
Mounts are scoped to your account. The same
workspaceId always contains the same data, regardless of which sandbox or template you use. Mount it at any path you want.Templates
Choose from pre-built templates or create your own:| Template | Description | Size |
|---|---|---|
nodejs-20 | Node.js 20, Bun, pnpm | 450MB |
python-ml | Python 3.12, PyTorch, NumPy | 2.1GB |
full-stack | Node + Python + PostgreSQL | 1.2GB |
go-1.22 | Go 1.22 with common tools | 380MB |
rust-1.75 | Rust with Cargo | 520MB |
Custom Templates
Learn how to create custom templates
Executing Commands
File Operations
Dev Server URLs
Get a public URL for your dev server:URLs are automatically routed through our Caddy reverse proxy. They support HTTPS and work with any framework (Vite, Next.js, etc).
Pause and Resume
Save money by pausing sandboxes when not in use:Idle Timeout
Configure automatic pausing:Snapshots and Branching
Snapshots are different from pause/resume. They create named checkpoints you can return to or branch from.
SSH Access
SSH access uses your registered SSH keys. First, register your public key:The SSH gateway (
ssh.runtools.ai) uses your sandbox ID as the username and automatically routes to the correct VM. Your local private key is matched against your org’s registered public keys.VNC Access (Desktop)
For GUI applications and computer use:Lifecycle Management
Resource Limits
Each sandbox has configurable resource limits:| Resource | Default | Max |
|---|---|---|
| vCPUs | 2 | 8 |
| Memory | 2GB | 16GB |
| Disk | 10GB | 100GB |
| Network | 1Gbps | 1Gbps |
Best Practices
Use pause for idle sandboxes
Use pause for idle sandboxes
Paused sandboxes don’t incur compute costs. Set an
idleTimeout to auto-pause.Use snapshots before risky operations
Use snapshots before risky operations
Create a snapshot before refactoring or major changes. Easy to rollback.
Clean up when done
Clean up when done
Destroy sandboxes you no longer need. Storage costs apply even when paused.
Use appropriate templates
Use appropriate templates
Don’t use
python-ml (2GB) if you just need Node.js (450MB). Faster startup, lower cost.