SpyBara
Go Premium

Documentation 2026-07-21 15:00 UTC to 2026-07-22 01:00 UTC

14 files changed +170 −97. View all changes and history on the product overview
2026
Thu 30 16:57 Wed 22 01:00 Tue 21 15:00 Wed 8 18:58 Sat 4 20:00 Thu 2 06:57
Details

44| `-m, --model <MODEL>` | Model ID to use |44| `-m, --model <MODEL>` | Model ID to use |

45| `--effort <LEVEL>` | Reasoning effort |45| `--effort <LEVEL>` | Reasoning effort |

46| `--always-approve` | Auto-approve all tool executions (alias `--yolo`) |46| `--always-approve` | Auto-approve all tool executions (alias `--yolo`) |

47| `--allow <RULE>`, `--deny <RULE>` | Permission rules — see [Enterprise Deployments](/build/enterprise#permissions) |47| `--allow <RULE>`, `--deny <RULE>` | Permission rules — see [Permissions](/build/features/permissions) |

48| `--sandbox <PROFILE>` | Sandbox profile — see [Enterprise Deployments](/build/enterprise#sandbox) |48| `--sandbox <PROFILE>` | Sandbox profile — see [Sandbox](/build/features/sandbox) |

49| `--rules <TEXT>` | Extra rules appended to the system prompt |49| `--rules <TEXT>` | Extra rules appended to the system prompt |

50| `--system-prompt-override <TEXT>` | Replace the system prompt entirely |50| `--system-prompt-override <TEXT>` | Replace the system prompt entirely |

51| `--tools <LIST>`, `--disallowed-tools <LIST>` | Allow or remove built-in tools |51| `--tools <LIST>`, `--disallowed-tools <LIST>` | Allow or remove built-in tools |

enterprise.md +11 −57

Details

53 53 

54Settings in `requirements.toml` cannot be overridden by lower layers, remote settings, or user config — use it for compliance-critical policies. All layers support `[[version_overrides]]` for version-conditional patches and `$VAR` expansion.54Settings in `requirements.toml` cannot be overridden by lower layers, remote settings, or user config — use it for compliance-critical policies. All layers support `[[version_overrides]]` for version-conditional patches and `$VAR` expansion.

55 55 

56### System-level policy for MDM and fleet deployments56### System-level policy for MDM and managed deployments

57 57 

58The highest-priority configuration layer is `/etc/grok/requirements.toml`. This is the recommended mechanism for organizations managing Grok at scale via Mobile Device Management (MDM), golden images, configuration management tools, or onboarding scripts.58The highest-priority configuration layer is `/etc/grok/requirements.toml`. This is the recommended mechanism for organizations managing Grok at scale via Mobile Device Management (MDM), golden images, configuration management tools, or onboarding scripts.

59 59 


163 163 

164## Security controls164## Security controls

165 165 

166### Sandbox166Day-to-day [permissions](/build/features/permissions) (modes, allow/deny rules) and [sandbox](/build/features/sandbox) profiles apply to individual machines as well as managed deployments. This section covers enterprise-only policy: pinning, headless modes, and locking always-approve off.

167 

168The sandbox is applied once at process startup and is irreversible. It uses Landlock on Linux (kernel 5.13+) and Seatbelt on macOS.

169 

170| Profile | Filesystem read | Filesystem write | Child network | Use case |

171| --- | --- | --- | --- | --- |

172| `off` | Unrestricted | Unrestricted | Allowed | No sandbox (default) |

173| `workspace` | Everywhere | CWD, `/tmp`, `~/.grok/` | Allowed | Normal development |

174| `devbox` | Everywhere | Everything except `/data` | Allowed | Cloud devbox environments |

175| `read-only` | Everywhere | `~/.grok/` and tmp only | Blocked | Code review, auditing |

176| `strict` | CWD and system paths only | CWD, `/tmp`, `~/.grok/` | Blocked | Untrusted repositories |

177 

178Set the profile with `--sandbox workspace` or pin it in `requirements.toml` under `[sandbox] profile`.

179 

180Certain directories are always write-protected regardless of profile: `~/.ssh`, `~/.gnupg`, `~/.grok/auth`, `~/.aws`, `~/.config/gcloud`, `~/.azure`.

181 167 

182In `read-only` and `strict` profiles, child processes are blocked from making network connections via a seccomp BPF filter. This enforcement is Linux-only; on macOS, child network blocking is not currently enforced.168### Sandbox

183 169 

184Custom profiles can be defined in `~/.grok/sandbox.toml` or `.grok/sandbox.toml`:170Profiles, custom `sandbox.toml`, and how the sandbox relates to permissions are under [Sandbox](/build/features/sandbox). Pin a profile in `requirements.toml`:

185 171 

186```text172```text

187[profiles.my-profile]173[sandbox]

188extends = "workspace"174profile = "workspace"

189restrict_network = true

190deny = ["/secrets"]

191```175```

192 176 

193### Permissions177### Permissions

194 178 

195The permission system controls which tool calls the model can execute, independent of the sandbox. When the model requests a tool, checks run in order: PreToolUse hooks, policy rules (deny > ask > allow), built-in fast paths, then the prompt policy. See [Modes and Commands](/build/modes-and-commands) for the basic `ask` and `always-approve` modes.179Ask, auto, and always-approve, plus CLI `--allow` / `--deny` and config rules, are under [Permissions](/build/features/permissions). For CI and headless runs, two additional modes matter:

196 

197For enterprise and CI environments, two additional modes are relevant:

198 180 

199| Mode | Behavior | Typical use |181| Mode | Behavior | Typical use |

200| --- | --- | --- |182| --- | --- | --- |

201| `dontAsk` | Silently deny anything without an explicit allow rule | Headless, CI, high-security |183| `dontAsk` | Silently deny anything without an explicit allow rule | Headless, CI |

202| `acceptEdits` | Auto-approve file edits; prompt for shell commands | Semi-automated workflows |184| `acceptEdits` | Auto-approve file edits; prompt for shell commands | Semi-automated workflows |

203 185 

204Set via `--permission-mode` in headless mode (e.g., `grok -p "..." --permission-mode dontAsk`; accepts `default`, `dontAsk`, `acceptEdits`, `bypassPermissions`, `plan`) or `[ui] permission_mode` in config for persistent use (accepts `ask`, `always-approve`).186Example headless run:

205 

206**Always-safe operations**

207 

208Certain read-only operations are auto-approved without prompting in all modes, including `dontAsk`: `read_file`, `list_dir`, `grep`, `web_search`, `todo_write`, and a curated set of safe shell commands including `ls`, `cat`, `pwd`, `date`, `whoami`, `hostname`, `uptime`, `ps`, `head`, `tail`, `wc`, `sort`, `uniq`, `tr`, `cut`, `grep`, `git status`, `git branch`, `git log`, `git diff`, `git ls-files`, `git show`, `git rev-parse`, `cargo check`, and `kubectl get/logs/describe`. Shell commands are parsed per-segment — `ls && rm -rf /` will auto-approve `ls` but block `rm`.

209 

210**Policy rules**

211 

212Fine-grained allow/deny rules target specific tool types with glob patterns. Deny rules always take precedence over allow rules.

213 187 

214```bash customLanguage="bash"188```bash customLanguage="bash"

215grok -p "Review the API changes" \189grok -p "Review the API changes" \


218 --allow 'Bash(gh *)' \192 --allow 'Bash(gh *)' \

219 --allow 'Read' \193 --allow 'Read' \

220 --allow 'Grep' \194 --allow 'Grep' \

221 --deny 'Bash(rm -rf *)'195 --deny 'Bash(rm -rf *)' \

222```196 --sandbox strict

223 

224Supported tool filters: `Bash`, `Edit`, `Read`, `Grep`, `MCPTool`, `WebFetch`. Rule syntax: `Bash(git *)` matches any command starting with `git`; `Edit(**/*.rs)` matches Rust files; `MCPTool(my-server__*)` matches MCP tools from a specific server.

225 

226Rules can also be set in `~/.grok/config.toml`:

227 

228```text

229[permission]

230rules = [

231 { action = "allow", tool = "bash", pattern = "git *" },

232 { action = "allow", tool = "read" },

233 { action = "deny", tool = "bash", pattern = "*" },

234]

235```197```

236 198 

237**Dangerous commands**

238 

239`rm`, `chmod`, `chown`, `chgrp`, `chattr`, `kill`, `pkill`, `killall`, and `git push` always prompt in `ask` mode, even if the user has whitelisted them. In always-approve mode, they are auto-approved like all other commands. To block them in always-approve mode, add explicit deny rules.

240 

241**Combining permissions with sandbox**

242 

243Permissions control what the model is allowed to request. The sandbox controls what the process can do even if a command is approved. For untrusted code, combine `dontAsk` + narrow allow rules + `--sandbox strict`.

244 

245**Locking bypass-permissions mode**199**Locking bypass-permissions mode**

246 200 

247Set `disable_bypass_permissions_mode = true` under `[ui]` to turn always-approve (bypass-permissions) off across the deployment. This blocks every way to switch it back on: the `--yolo` and `--permission-mode bypassPermissions` flags, the in-session toggles (Ctrl+O, `/always-approve`, and the Shift+Tab mode cycle), client-supplied yolo settings, and catch-all `allow` rules such as `*` or `**`. Deny rules still apply, and behavior is unchanged when no lock is set.201Set `disable_bypass_permissions_mode = true` under `[ui]` to turn always-approve (bypass-permissions) off across the deployment. This blocks every way to switch it back on: the `--yolo` and `--permission-mode bypassPermissions` flags, the in-session toggles (Ctrl+O, `/always-approve`, and the Shift+Tab mode cycle), client-supplied yolo settings, and catch-all `allow` rules such as `*` or `**`. Deny rules still apply, and behavior is unchanged when no lock is set.

Details

2 2 

3# Background Tasks3# Background Tasks

4 4 

5Grok can run commands, subagents, and monitors in the background while the conversation continues. Press `Ctrl+B` to open the tasks pane listing everything currently running, or run `/tasks` for a snapshot in the scrollback; press `Ctrl+G` to demote a running foreground command to the background instead of waiting for it. This is separate from the agent’s [todos](/build/features/sessions#todos) (`Ctrl+T` on the agent screen), which track planned multi-step work rather than running processes.5Grok can run commands, subagents, and monitors in the background while the conversation continues. Press `Ctrl+G` to open the tasks pane listing everything currently running, or run `/tasks` for a snapshot in the scrollback; press `Ctrl+B` to demote a running foreground command to the background instead of waiting for it. This is separate from the agent’s [todos](/build/features/sessions#todos) (`Ctrl+T` on the agent screen), which track planned multi-step work rather than running processes.

6 6 

7## Background commands7## Background commands

8 8 

features/permissions.md +43 −0 created

Details

1#### Features

2 

3# Permissions

4 

5Permissions decide which tool calls may run. The [sandbox](/build/features/sandbox) is separate: it limits what an approved call can do on the filesystem and network.

6 

7## Modes

8 

9| Mode | Behavior | Enter via |

10| ---- | -------- | --------- |

11| Ask (default) | Prompt for anything not already allowed | — |

12| Auto | Classifier auto-approves safe tools; dangerous ones may still prompt (`deny` rules and hooks still apply) | `/auto`, `Shift+Tab` when the feature is on |

13| Always-approve | Auto-approve tool calls (`deny` rules and PreToolUse hooks still apply) | `/always-approve`, `Ctrl+O`, `Shift+Tab`, `grok --always-approve` |

14 

15`Shift+Tab` cycles Normal → Plan → Auto (when available) → Always-approve. `/auto` only appears when the auto permission-mode feature is enabled. Running `/auto` while always-approve is on (or the reverse) switches modes rather than stacking them. Status shows `auto` when auto is active and plan mode is not.

16 

17Default in user config only (`~/.grok/config.toml` or managed/requirements — not project `.grok/config.toml`):

18 

19```text

20[ui]

21permission_mode = "auto" # or "ask" | "always-approve"

22```

23 

24Legacy keys `approval_mode` and `yolo = true` still work; `permission_mode` wins when more than one is set.

25 

26[Plan mode](/build/features/plan-mode) is independent: edit tools stay limited while planning, and the plan review UI is not skipped under auto or always-approve.

27 

28Headless modes such as `dontAsk` and locking always-approve off: [Enterprise Deployments](/build/enterprise#permissions).

29 

30## Allow and deny rules

31 

32```text

33[permission]

34rules = [

35 { action = "allow", tool = "bash", pattern = "git *" },

36 { action = "allow", tool = "read" },

37 { action = "deny", tool = "bash", pattern = "rm -rf *" },

38]

39```

40 

41`--allow` / `--deny` take the same patterns per invocation. Supported filters include `Bash`, `Edit`, `Read`, `Grep`, `MCPTool`, `WebFetch`, and `WebSearch`. `deny` always wins over `allow`.

42 

43A remembered “always allow” grant still prompts for dangerous patterns such as `rm` and `git push`. An explicit config or CLI allow rule auto-approves them. Under always-approve they run unless you add a deny.

features/plan-mode.md +39 −0 created

Details

1#### Features

2 

3# Plan Mode

4 

5In plan mode the agent explores the codebase and drafts a plan for your approval before it edits anything.

6 

7## When to use

8 

9| | |

10| --- | --- |

11| **Use for** | Ambiguous architecture, unclear requirements, or high-impact restructures |

12| **Skip for** | Clear one-path changes, obvious bug fixes, renames, formatting, pure research ([explore](/build/features/subagents) instead) |

13 

14## Enter plan mode

15 

16* **`/plan`** — Enter plan mode (active on your next prompt). `/plan <description>` enters and starts a turn.

17* **`Shift+Tab`** — Cycle modes. From Normal, one press lands on Plan (then Auto when available, then Always-approve).

18 

19The agent can enter plan mode on its own when a task looks ambiguous. That is not a permission prompt. Leave with `Shift+Tab` when idle, or with `q` on the approval screen.

20 

21## Review and approve

22 

23When planning finishes, the TUI opens a plan preview. Auto and always-approve do not skip this review. Use **`/view-plan`** (aliases `/show-plan`, `/plan-view`) to reopen a saved preview.

24 

25| Shortcut | Action |

26| -------- | ------ |

27| `a` | Approve and start building (or approve with pending comments) |

28| `s` | Request changes (type notes, then Enter) |

29| `c` | Comment on the selected line or range |

30| `q` | Quit plan and turn plan mode off |

31| `Tab` | Focus between plan preview and prompt |

32 

33An empty plan still opens this surface. Plan mode stays on until you approve or quit.

34 

35## Caveats

36 

37* Only the session plan file may be edited until you approve. Other edit tools are rejected, including under auto or always-approve. Reads, bash, and MCP still follow [permission mode](/build/features/permissions). Plan mode gates edit tools, not the shell — bash can still write via redirection.

38* [Subagents](/build/features/subagents) are not edit-gated by the parent’s plan mode; they do inherit permission mode (including auto and always-approve).

39* Status shows `plan` while planning and `plan approval` on the review screen. The `auto` or always-approve flag returns when plan mode ends.

features/sandbox.md +46 −0 created

Details

1#### Features

2 

3# Sandbox

4 

5The 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](/build/features/permissions).

6 

7## Profiles

8 

9| Profile | Filesystem read | Filesystem write | Child network | Use case |

10| --- | --- | --- | --- | --- |

11| `off` | Unrestricted | Unrestricted | Allowed | No sandbox (default) |

12| `workspace` | Everywhere | CWD, `~/.grok/`, temp | Allowed | Normal development |

13| `devbox` | Everywhere | Top-level dirs except `/data` | Allowed | Cloud devbox environments |

14| `read-only` | Everywhere | `~/.grok/` and temp only | Blocked | Code review, auditing |

15| `strict` | CWD and system paths | CWD, `~/.grok/`, temp | Blocked | Untrusted repositories |

16 

17| Limitation | Detail |

18| --- | --- |

19| Child network | Enforced on Linux only; no-op on macOS for `read-only` / `strict` |

20| Credentials | Built-ins do not permanently protect paths such as `~/.ssh`; use a custom `deny` list |

21| `~/.grok/` | Stays writable under sandboxed profiles so sessions can persist |

22| In-process network | Model API and web tools are not blocked by child-network settings |

23 

24## Enable a profile

25 

26| Mechanism | Example |

27| --- | --- |

28| CLI | `grok --sandbox workspace` |

29| Config | `[sandbox] profile = "workspace"` in `~/.grok/config.toml` |

30| Env | `GROK_SANDBOX=workspace` |

31| Managed pin | `requirements.toml` (can override CLI) — [Enterprise](/build/enterprise#sandbox) |

32 

33## Custom profiles

34 

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

36 

37```text

38[profiles.my-profile]

39extends = "workspace"

40restrict_network = true

41deny = ["/secrets", "**/.env", "**/*.pem"]

42```

43 

44Select with `--sandbox my-profile` or `[sandbox] profile`. Built-in names cannot be redefined for selection. Field details: [Settings Reference](/build/settings/reference).

45 

46For untrusted trees, pair a strict profile with narrow [permission](/build/features/permissions) allows (or headless `dontAsk`).

Details

40 40 

41On the agent screen, press `Ctrl+T` to view the todo pane. The list is part of the session: resume the same session and the todos return with their last statuses.41On the agent screen, press `Ctrl+T` to view the todo pane. The list is part of the session: resume the same session and the todos return with their last statuses.

42 42 

43Todos are separate from [background tasks](/build/features/background-tasks) (`Ctrl+B`), which track long-running commands and monitors.43Todos are separate from [background tasks](/build/features/background-tasks), which track long-running commands and monitors.

44 44 

45## Housekeeping45## Housekeeping

46 46 

Details

49 49 

50## Subagents50## Subagents

51 51 

52Subagents spawn independent child sessions that handle tasks in parallel.52Subagents spawn independent child sessions that handle tasks in parallel. Types and personas are under [Subagents](/build/features/subagents).

53 53 

54## Claude Code compatibility54## Claude Code compatibility

55 55 

features/subagents.md +15 −0 created

Details

1#### Features

2 

3# Subagents

4 

5Subagents are independent child sessions with their own context. They return a summary to the parent when finished. Enabled by default when the setting is unset.

6 

7## Built-in types

8 

9| Type | Role |

10| ---- | ---- |

11| `general-purpose` | Default full-capability child |

12| `explore` | Read, list, and search only (no shell, no edits) |

13| `plan` | Drafts an implementation plan (no shell, no edits) |

14 

15Add or override types under `.grok/agents/` or `~/.grok/agents/`. Manage agents and personas with `/config-agents` (alias `/agents`) or `/personas`. Personas are behavioral overlays only (tone, focus, contracts); define them under `[subagents.personas]` or `.grok/personas/*.toml` / `~/.grok/personas/*.toml`.

Details

2 2 

3# Worktrees3# Worktrees

4 4 

5A worktree session runs in an isolated copy of your repository, so parallel agents cannot overwrite each other's files. Worktrees require a git repository, live under `~/.grok/worktrees/<repo>/<name>`, and start from your current HEAD, including uncommitted changes.5A worktree session runs in an isolated copy of your repository, so parallel agents cannot overwrite each other's files. Worktrees require a git repository, live under `~/.grok/worktrees/<repo>/<name>`, and start from your current HEAD, including uncommitted changes. [Subagents](/build/features/subagents) can also request worktree isolation when the parent delegates parallel work.

6 6 

7## Starting one7## Starting one

8 8 

Details

13| `Esc` | Cancel the running turn |13| `Esc` | Cancel the running turn |

14| `Esc Esc` | Clear the prompt, or open rewind when it is empty |14| `Esc Esc` | Clear the prompt, or open rewind when it is empty |

15| `Ctrl+C` | Cancel turn |15| `Ctrl+C` | Cancel turn |

16| `Shift+Tab` | Cycle mode (Normal / Plan / Always-approve) |16| `Shift+Tab` | Cycle mode (Normal / Plan / Auto when available / Always-approve) |

17| `Ctrl+P` or `?` | Command palette |17| `Ctrl+P` or `?` | Command palette |

18| `Ctrl+.` / `Ctrl+X` | Keyboard shortcuts |18| `Ctrl+.` / `Ctrl+X` | Keyboard shortcuts |

19| `F2` or `Ctrl+,` | Settings |19| `F2` or `Ctrl+,` | Settings |


55| Keys | Action |55| Keys | Action |

56| ---- | ------ |56| ---- | ------ |

57| `Ctrl+T` | Toggle the [todo pane](/build/features/sessions#todos) (agent screen) |57| `Ctrl+T` | Toggle the [todo pane](/build/features/sessions#todos) (agent screen) |

58| `Ctrl+B` | Toggle the [tasks pane](/build/features/background-tasks) |58| `Ctrl+B` | Send the running command to the background |

59| `Ctrl+;` or `Ctrl+'` | Toggle prompt queue |59| `Ctrl+;` or `Ctrl+'` | Toggle prompt queue |

60| `Ctrl+S` | Open sessions |60| `Ctrl+S` | Open sessions |

61| `Ctrl+L` | Open extensions |61| `Ctrl+L` | Open extensions |

62| `Ctrl+G` | Send the running command to the background |62| `Ctrl+G` | Toggle the [tasks pane](/build/features/background-tasks) |

63| `Ctrl+O` | Toggle always-approve |63| `Ctrl+O` | Toggle always-approve |

64| `Ctrl+N` | New session (press twice) |64| `Ctrl+N` | New session (press twice) |

65| `Ctrl+M` | Pick model, when the prompt is not focused |65| `Ctrl+M` | Pick model, when the prompt is not focused |

Details

8 8 

9### Plan9### Plan

10 10 

11Plan mode is for planning first. When it is active, edits to the session plan file are auto-approved while writes to other files still require your approval.11Plan mode is planning first: only the session plan file can be edited until you approve. That file-edit gate is independent of the permission mode (ask, auto, or always-approve). Enter with `/plan [description]` or `Shift+Tab`, and reopen a plan with `/view-plan`. See [Plan Mode](/build/features/plan-mode).

12 12 

13Use it when you want Grok to sketch the approach before it starts making changes. Enter it with `/plan [description]` and view the current plan with `/view-plan`.13### Auto

14 14 

15Plan mode keeps the working plan visible in the TUI.15Auto uses a classifier to auto-approve safe tools; dangerous ones may still prompt. Toggle with `/auto` or `Shift+Tab` when the feature is enabled. Full mode table: [Permissions](/build/features/permissions).

16 

17It can also stop to ask a clarifying question before edits.

18 16 

19### Always-approve17### Always-approve

20 18 

21Always-approve skips permission prompts for tool calls.19Always-approve skips permission prompts for tool calls (`deny` rules and hooks still apply). Toggle with `/always-approve` or `Shift+Tab`, or start with `grok --always-approve`. Modes, allow/deny rules, and how they relate to the sandbox are under [Permissions](/build/features/permissions).

22 

23You can start in this mode with:

24 

25```bash customLanguage="bash"

26grok --always-approve

27```

28 

29You can also toggle it from the TUI with `/always-approve`.

30 

31### Permission mode in config.toml

32 

33Set the default permission behavior in `~/.grok/config.toml`:

34 

35```text

36[ui]

37permission_mode = "always-approve"

38```

39 

40Use `permission_mode = "ask"` for prompts on each tool call, or `permission_mode = "always-approve"` to skip them. The default is `ask`. The legacy keys `approval_mode` and `yolo = true` are still accepted but `permission_mode` takes precedence.

41 

42Put this in `~/.grok/config.toml`, not project-scoped `.grok/config.toml`.

43 

44For the full set of `config.toml` options, see [Settings](/build/settings).

45 20 

46## Core TUI commands21## Core TUI commands

47 22 


71| `/model <name>` (alias `/m`) | Switch the active model |46| `/model <name>` (alias `/m`) | Switch the active model |

72| `/effort` | Set reasoning effort for the current model |47| `/effort` | Set reasoning effort for the current model |

73| `/always-approve` | Toggle always-approve mode |48| `/always-approve` | Toggle always-approve mode |

49| `/auto` | Toggle auto mode (classifier; when feature enabled) |

74| `/plan [description]` | Enter plan mode |50| `/plan [description]` | Enter plan mode |

75| `/view-plan` | View the current plan |51| `/view-plan` | View the current plan |

76| `/btw <question>` | Ask a side question without interrupting |52| `/btw <question>` | Ask a side question without interrupting |

settings.md +1 −1

Details

16| Managed | `~/.grok/managed_config.toml`, `/etc/grok/managed_config.toml` | Enterprise-served defaults |16| Managed | `~/.grok/managed_config.toml`, `/etc/grok/managed_config.toml` | Enterprise-served defaults |

17| Requirements | `~/.grok/requirements.toml`, `/etc/grok/requirements.toml` | Policy pins |17| Requirements | `~/.grok/requirements.toml`, `/etc/grok/requirements.toml` | Policy pins |

18 18 

19Project configs are limited to MCP servers, plugins, and permission rules, not full user configs. For scope merge order and managed deployments, see [Enterprise Deployments](/build/enterprise#configuration). [Permission rules](/build/enterprise#permissions) and [sandboxing](/build/enterprise#sandbox) are documented there too — they apply to individual use as much as to fleets.19Project configs are limited to MCP servers, plugins, and permission rules, not full user configs. For scope merge order and managed deployments, see [Enterprise Deployments](/build/enterprise#configuration). Day-to-day [permissions](/build/features/permissions) and [sandbox](/build/features/sandbox) apply to individual use; managed locks and headless modes are under Enterprise.

20 20 

21## Verification21## Verification

22 22 

Details

181| `read_write` | path list | Additional read-write paths. |181| `read_write` | path list | Additional read-write paths. |

182| `deny` | path or **glob** list | Kernel-enforced deny for read and write/rename. An entry is a glob if it contains `*`, `?`, or `[` (for example `**/.env`, `**/*.pem`). |182| `deny` | path or **glob** list | Kernel-enforced deny for read and write/rename. An entry is a glob if it contains `*`, `?`, or `[` (for example `**/.env`, `**/*.pem`). |

183 183 

184A non-empty `deny` list is enforced at the kernel level when the sandbox can be applied. On Linux, read-deny requires `bubblewrap`. For managed deployments and policy, see [Enterprise Deployment](/build/enterprise).184A non-empty `deny` list is enforced at the kernel level when the sandbox can be applied. On Linux, read-deny requires `bubblewrap`. Operator guide: [Sandbox](/build/features/sandbox). Managed pins: [Enterprise Deployments](/build/enterprise#sandbox).

185 185 

186### `[session]`, `[cli]`, and `[hints]`186### `[session]`, `[cli]`, and `[hints]`

187 187