Skip to content

Sandbox backends

BackendValuePlatformDescription
NativenativemacOS, LinuxOS-native sandbox (default)
NonenoneallNo isolation (development only)

Uses Apple’s Seatbelt sandbox mechanism (the same system used by macOS App Sandbox).

  • Filesystem: restricts read/write to bound mount paths only
  • Network: configurable egress policy (full, restricted, none)
  • Process: limits process spawning within the sandbox
  • Configuration: profiles are generated per-launch from the SandboxSpec

Requirements:

  • macOS 12+ (Monterey)
  • System Integrity Protection enabled

Uses bubblewrap (bwrap) to create mount and PID namespaces.

  • Filesystem: creates a mount namespace with only the bound paths visible
  • Network: shares the network namespace by default; can restrict with capabilities
  • Process: PID namespace isolation

Requirements:

  • bubblewrap package installed (sudo apt install bubblewrap on Debian/Ubuntu)
  • Kernel namespace support (standard on modern Linux)

Disables all sandboxing. The agent CLI runs directly on the host with full access.

Use only for:

  • Development and debugging
  • Trusted environments
  • When sandboxing is incompatible with your workflow

Warning: agents running without sandboxing have unrestricted access to your filesystem, network, and processes.

The specification passed to SandboxPort.launch:

FieldTypeDescription
sessionIdStringUnique session identifier
workspaceIdStringOwning workspace
agentIdStringThe agent being sandboxed
mountsList<SandboxBindMount>Host-to-guest bind mounts
networkEgressboolWhether network access is allowed
workdirStringWorking directory inside the sandbox
modeConversationModeAffects filesystem write policy
FieldTypeDescription
hostPathStringPath on the host
guestPathStringPath inside the sandbox
writableboolWhether the mount is read-write

Returned by SandboxPort.launch:

FieldTypeDescription
sessionIdStringSession identifier
backendSandboxBackendWhich backend is running
stateSandboxStateLifecycle state
errorString?Error message if failed
StateDescription
startingSandbox is being created
runningSandbox is active
stoppedSandbox has been torn down
failedSandbox failed to start
Event typeDescription
stdoutStandard output from the sandbox
stderrStandard error from the sandbox
exitSandbox process exited
violationA sandbox policy was violated
FieldTypeDescription
actionStringThe denied action (e.g. “network”, “file-write”)
targetStringThe target of the denied action
suggestedCapabilityString?The capability that would allow this action