Creating a Sandbox
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
template | string | "base" | Template for the VM root filesystem |
timeout | number | 300 | Idle timeout in seconds (resets on every operation) |
envs | object | — | Environment variables set inside the VM |
metadata | object | — | Arbitrary key-value pairs stored with the sandbox |
cpuCount | number | — | CPU cores (max 4). TypeScript and HTTP API only |
memoryMB | number | — | Memory in MB (max 2048). TypeScript and HTTP API only |
apiKey | string | — | Defaults to OPENCOMPUTER_API_KEY env var |
apiUrl | string | — | Defaults to OPENCOMPUTER_API_URL env var |
cpuCount and memoryMB are not available in the Python SDK. Use the HTTP API directly for custom resources from Python.Connecting to an Existing Sandbox
Lifecycle
Sandboxes have four states:| Status | Description |
|---|---|
running | Active, accepting operations |
hibernated | State saved, no compute cost |
stopped | Terminated |
error | Failed |
Hibernation & Wake
Hibernation snapshots the VM state and stops it — no cost while hibernated. Wake restores the sandbox, typically fast, with a cold-boot fallback if snapshot restore is unavailable.Methods
| Method | TypeScript | Python | Description |
|---|---|---|---|
| Kill | await sandbox.kill() | await sandbox.kill() | Terminate the sandbox |
| Check status | await sandbox.isRunning() | await sandbox.is_running() | Returns boolean |
| Set timeout | await sandbox.setTimeout(600) | await sandbox.set_timeout(600) | Update idle timeout (seconds) |
| Hibernate | await sandbox.hibernate() | — | Snapshot and stop |
| Wake | await sandbox.wake() | — | Resume from hibernation |
Properties
| Property | TypeScript | Python | Description |
|---|---|---|---|
| Sandbox ID | sandbox.sandboxId | sandbox.sandbox_id | Unique identifier |
| Status | sandbox.status | sandbox.status | Current lifecycle state |
| Agent | sandbox.agent | sandbox.agent | Agent sessions |
| Exec | sandbox.exec | sandbox.exec | Command execution |
| Files | sandbox.files | sandbox.files | Filesystem |
| PTY | sandbox.pty | sandbox.pty | Interactive terminals |
Python Context Manager
The Python SDK supportsasync with for automatic cleanup:
Forking from Checkpoints
Create a sandbox from a saved checkpoint — useful for parallel testing from a known-good state:Related
Running Commands
Execute shell commands
Working with Files
Read, write, and manage files
Interactive Terminals
PTY sessions for interactive work
Checkpoints
Snapshot, fork, and restore
Templates
Custom VM images
Preview URLs
Expose ports to the internet