功能

权限

权限决定哪些工具调用可以运行。Sandbox 是独立机制:它限制已批准调用可以对 filesystem 和 network 执行的操作。

模式

模式行为进入方式
Ask(默认)对尚未允许的任何操作提示确认
AutoClassifier 自动批准安全工具;危险工具仍可能提示(deny rules 和 hooks 仍生效)/auto,功能开启时使用 Shift+Tab
Always-approve自动批准工具调用(deny rules 和 PreToolUse hooks 仍生效)/always-approveCtrl+OShift+Tabgrok --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):

Text

[ui]
permission_mode = "auto" # or "ask" | "always-approve"

旧版 key approval_modeyolo = true 仍然有效;同时设置多个值时,permission_mode 优先。

Plan mode 是独立的:规划期间 edit tools 仍受限制,auto 或 always-approve 不会跳过 plan review UI。

Headless 模式(如 dontAsk)以及锁定关闭 always-approve,请参阅 Enterprise 部署

Allow 与 deny rules

Text

[permission]
rules = [
  { action = "allow", tool = "bash", pattern = "git *" },
  { action = "allow", tool = "read" },
  { action = "deny",  tool = "bash", pattern = "rm -rf *" },
]

--allow / --deny 对每次调用使用相同 pattern。支持的 filter 包括 BashEditReadGrepMCPToolWebFetchWebSearchdeny 始终优先于 allow

记住的“always allow”授权仍会对 rmgit push 等危险 pattern 提示确认。显式 config 或 CLI allow rule 会自动批准它们。在 always-approve 下,它们会运行,除非添加 deny。