Features

Sandbox

The sandbox limits what the agent process and its children can read, write, and reach on the network (Landlock on Linux, Seatbelt on macOS). Off by default. Permissions gate whether a tool call runs; the sandbox limits what an approved call can do — see Permissions.

Profiles

ProfileFilesystem readFilesystem writeChild networkUse case
offUnrestrictedUnrestrictedAllowedNo sandbox (default)
workspaceEverywhereCWD, ~/.grok/, tempAllowedNormal development
devboxEverywhereTop-level dirs except /dataAllowedCloud devbox environments
read-onlyEverywhere~/.grok/ and temp onlyBlockedCode review, auditing
strictCWD and system pathsCWD, ~/.grok/, tempBlockedUntrusted repositories
LimitationDetail
Child networkEnforced on Linux only; no-op on macOS for read-only / strict
CredentialsBuilt-ins do not permanently protect paths such as ~/.ssh; use a custom deny list
~/.grok/Stays writable under sandboxed profiles so sessions can persist
In-process networkModel API and web tools are not blocked by child-network settings

Enable a profile

MechanismExample
CLIgrok --sandbox workspace
Config[sandbox] profile = "workspace" in ~/.grok/config.toml
EnvGROK_SANDBOX=workspace
Managed pinrequirements.toml (can override CLI) — Enterprise

Custom profiles

Define named profiles in ~/.grok/sandbox.toml or project .grok/sandbox.toml:

Text

[profiles.my-profile]
extends = "workspace"
restrict_network = true
deny = ["/secrets", "**/.env", "**/*.pem"]

Select with --sandbox my-profile or [sandbox] profile. Built-in names cannot be redefined for selection. Field details: Settings Reference.

For untrusted trees, pair a strict profile with narrow permission allows (or headless dontAsk).


Last updated: July 21, 2026