Documentation Index Fetch the complete documentation index at: https://docs.celesto.ai/llms.txt
Use this file to discover all available pages before exploring further.
SmolVM
SmolVM gives AI agents their own disposable computer. Each microVM boots in milliseconds, runs any code or software you throw at it, persists files and state across sessions, and disappears when you’re done — built for scale in production.
Sub-second boot VMs ready in ~500 ms.
Hardware isolation Stronger security than containers.
Network controls Domain allowlists for network access control.
Browser sandbox Full browser agents can see and control.
Host mounts Give sandboxes access to local directories.
Snapshots Save and restore VM state instantly.
Quickstart
Install SmolVM
curl -sSL https://celesto.ai/install.sh | bash
This installs everything you need and configures your machine. See Installation for manual install and requirements.
Run your first sandbox
Create quickstart.py: from smolvm import SmolVM
vm = SmolVM()
result = vm.run( "echo 'Hello from the sandbox!'" )
print (result.stdout.strip())
vm.stop()
Run it: smolvm create --name my-sandbox
smolvm ssh my-sandbox
echo 'Hello from the sandbox!'
exit
smolvm stop my-sandbox
You should see:
CLI usage
Create and manage sandboxes from the terminal:
smolvm create --name my-sandbox
smolvm ssh my-sandbox
smolvm list
smolvm stop my-sandbox
Run coding agents in an isolated sandbox:
smolvm claude start
smolvm codex start
smolvm pi start
Mount host directories for read-only access:
smolvm create --mount ~/Projects/my-app
smolvm create --mount ~/Projects/my-app:/code --mount ~/data:/mnt/data
Save and restore VM state with snapshots:
smolvm snapshot create my-sandbox
smolvm snapshot list
smolvm snapshot restore my-sandbox --snapshot-id snap_abc123
Start a browser session with live view:
smolvm browser start --live
smolvm browser list
smolvm browser stop sess_a1b2c3
See the CLI reference for the full command list.
Python SDK
Create and manage sandboxes from Python:
from smolvm import SmolVM
with SmolVM() as vm:
result = vm.run( "echo 'Hello from the sandbox!'" )
print (result.stdout.strip())
Customize memory and disk for heavier workloads:
vm = SmolVM( memory = 2048 , disk_size = 4096 )
Mount host directories:
with SmolVM( mounts = [ "~/Projects/my-app" ]) as vm:
result = vm.run( "ls /workspace" )
print (result.stdout)
Expose a port from the sandbox to your host:
with SmolVM() as vm:
vm.run( "python3 -m http.server 8000 &" )
host_port = vm.expose_local( guest_port = 8000 )
print ( f "http://127.0.0.1: { host_port } /" )
See the API reference for the full SDK documentation.
Next steps
AI agent integration Plug SmolVM into PydanticAI, OpenAI Agents, LangChain, and more
Port forwarding Expose services running inside a sandbox to your host machine
Custom images Build specialized images with your own tools pre-installed
API reference Explore the complete SmolVM API