Skip to content

Configure sandbox policies

This guide shows you how to configure sandbox policies.

Navigate to Settings → Sandboxing to configure:

BackendPlatformDescription
NativemacOS, LinuxOS-native sandbox (default)
NoneallNo isolation (development only)

Select the backend per workspace or globally.

  • macOS: Uses Apple’s Seatbelt sandbox. Profiles restrict filesystem access, network, and process spawning.
  • Linux: Uses bubblewrap. Creates mount and PID namespaces for isolation.

Capabilities control what an agent can access during execution:

CapabilityDescriptionDefault
Push to repoPush commits to the remoteEnabled
GitHub APICall GitHub APIsEnabled
TicketingCreate and update ticketsEnabled
Network egressMake outbound network requestsEnabled

Configure capabilities per agent in the agent configuration.

  1. At dispatch time, the CredentialBroker reads the agent’s capabilities
  2. It mints scoped environment variables — only the capabilities the agent has
  3. The sandbox enforces the policy during execution
  4. Violations emit SandboxViolation events visible in the channel

Agents see a restricted filesystem:

  • Read-write: the isolated worktree
  • Read-only: workspace configuration, skill resources
  • Hidden: the source checkout, other worktrees, system files

Mount policies are derived from the sandbox backend and conversation mode.

ModeFilesystemNetworkTools
ChatRead-write worktreePer-capabilityFull allowlist
PlanRead-only worktreePer-capabilityRead-only tools
ReviewRead-only worktreePer-capabilityReview tools only

Enable confirmation prompts for destructive actions:

  1. Navigate to Settings → Sandboxing → Confirmations
  2. Toggle confirmation for specific action types:
    • Force push
    • Branch deletion
    • Large file operations
    • Privileged API calls

When enabled, the sandbox interrupts the agent and asks for user approval before executing.

Run agent doctor to diagnose:

  • macOS: ensure System Integrity Protection is enabled
  • Linux: install bubblewrap (sudo apt install bubblewrap)

If agents report permission denied:

  • Check the capability flags on the agent
  • Verify the mount configuration
  • Check sandbox violation events in the channel