一句话:有人才能批,没人就拒
@ClaudeCodeLog 摘录的 2.1.304 changelog 写明:mod 的 tool.check 答案可带 decider: "person"——只有权限对话框或宿主回调能批准这次 ask;现场没人可问时,直接按 mod 的理由拒绝。
@ayyazdev 的用法建议很实用:把部署、生产库写入一类动作挂到 person 后面,其余仍可交给 auto。@PairdenAi 也概括为:强制人批;无人则自动拒绝。
这和「整会话永远 skip-permissions」是反方向:你不是关掉安全,而是把不可逆操作从自动通道里拆出来。
为什么比「口头约定」硬
团队里常有口头规矩:「上线前必须人工看一眼」。代理一忙、hook 一绕、--permission-mode auto 一开,口头规矩就失效。decider: "person" 把规矩写进工具检查层:没人点,这次调用就不发生。
注意边界:
- 它约束的是带了该检查的 mod/工具路径,不是魔法全局煞车;
- 无人值守流水线若误把「日常测试」也标成 person,会变成大规模挂起——要按风险分级;
- 仍要配合 deny、sandbox、密钥隔离;人审解决的是最后一公里批准,不是替代纵深防御。
落地顺序
- 升级到含该能力的版本,读官方 CHANGELOG 核对字段名。
- 列出真正不可逆的工具:生产部署、删库、对外付款、强制推送……
- 只对这些调用启用
decider: "person"(或等价宿主回调)。 - 在无人值守环境做负向测试:不点批准时,必须失败并留下可读原因。
如果你想把 Claude Code 放在一台常开、整机独享的新加坡 Mac mini 上长期运行,可以了解 Zumac.Ai,咨询 Telegram @singatao。
