功能
权限
权限决定哪些工具调用可以运行。Sandbox 是独立机制:它限制已批准调用可以对 filesystem 和 network 执行的操作。
模式
| 模式 | 行为 | 进入方式 |
|---|---|---|
| Ask(默认) | 对尚未允许的任何操作提示确认 | — |
| Auto | Classifier 自动批准安全工具;危险工具仍可能提示(deny rules 和 hooks 仍生效) | /auto,功能开启时使用 Shift+Tab |
| Always-approve | 自动批准工具调用(deny rules 和 PreToolUse hooks 仍生效) | /always-approve、Ctrl+O、Shift+Tab、grok --always-approve |
Shift+Tab 按 Normal → Plan → Auto(可用时)→ Always-approve 的顺序循环切换。只有 auto permission-mode 功能开启时才会显示 /auto。Always-approve 开启时运行 /auto(或反过来)会切换模式,而不是叠加模式。Auto 活动且未处于 plan 模式时,状态显示 auto。
只能在用户配置中设置默认值(~/.grok/config.toml 或 managed/requirements,而不是项目 .grok/config.toml):
[ui]
permission_mode = "auto" # or "ask" | "always-approve"旧版 key approval_mode 和 yolo = true 仍然有效;同时设置多个值时,permission_mode 优先。
Plan mode 是独立的:规划期间 edit tools 仍受限制,auto 或 always-approve 不会跳过 plan review UI。
Headless 模式(如 dontAsk)以及锁定关闭 always-approve,请参阅 Enterprise 部署。
Allow 与 deny rules
[permission]
rules = [
{ action = "allow", tool = "bash", pattern = "git *" },
{ action = "allow", tool = "read" },
{ action = "deny", tool = "bash", pattern = "rm -rf *" },
]--allow / --deny 对每次调用使用相同 pattern。支持的 filter 包括 Bash、Edit、Read、Grep、MCPTool、WebFetch 和 WebSearch。deny 始终优先于 allow。
记住的“always allow”授权仍会对 rm 和 git push 等危险 pattern 提示确认。显式 config 或 CLI allow rule 会自动批准它们。在 always-approve 下,它们会运行,除非添加 deny。