autoMode 设置块告诉该分类器您的组织信任哪些代码库、存储桶和域,以便它停止阻止常规内部操作。
自动模式可通过 Anthropic API 供所有用户使用。在 Amazon Bedrock、Google Cloud Vertex AI 和 Microsoft Foundry 上,您必须首先设置
CLAUDE_CODE_ENABLE_AUTO_MODE。如果 Claude Code 报告您的账户无法使用自动模式,请检查完整要求,其中还涵盖了支持的模型和 Team 及 Enterprise 计划上的管理员启用。autoMode.environment。
有关如何启用自动模式以及它默认阻止什么的信息,请参阅权限模式。本页是配置参考。
本页涵盖以下内容:
- 选择在何处设置规则跨 CLAUDE.md、用户设置和托管设置
- 定义受信任的基础设施使用
autoMode.environment - 覆盖阻止和允许规则当默认值不适合您的管道时
- 检查您的有效配置使用
claude auto-mode子命令 - 查看拒绝以便您知道接下来要添加什么
分类器读取配置的位置
分类器读取与 Claude 本身加载的相同的 CLAUDE.md 内容,因此您项目的 CLAUDE.md 中的”从不强制推送”之类的指令同时指导 Claude 和分类器。从那里开始了解项目约定和行为规则。 对于跨项目应用的规则,例如受信任的基础设施或组织范围的拒绝规则,请使用autoMode 设置块。分类器从以下范围读取 autoMode:
| 范围 | 文件 | 用途 |
|---|---|---|
| 一个开发者 | ~/.claude/settings.json | 个人受信任的基础设施 |
| 一个项目,一个开发者 | .claude/settings.local.json | 按项目的受信任存储桶或服务,gitignored |
| 组织范围 | 托管设置 | 分发给所有开发者的受信任基础设施 |
--settings 标志或 Agent SDK | 内联 JSON | 用于自动化的按调用覆盖 |
.claude/settings.json 中的共享项目设置读取 autoMode,因此已检入的代码库无法注入其自己的允许规则。
来自每个范围的条目被合并。开发者可以使用个人条目扩展 environment、allow、soft_deny 和 hard_deny,但无法删除托管设置提供的条目。因为允许规则在分类器内充当软阻止规则的例外,开发者添加的 allow 条目可以覆盖组织 soft_deny 条目:组合是累加的,而不是硬策略边界。
分类器是在权限系统之后运行的第二道门。对于无论用户意图或分类器配置如何都必须永远不运行的操作,请在托管设置中使用
permissions.deny,它在咨询分类器之前阻止操作,无法被覆盖。定义受信任的基础设施
对于大多数组织,autoMode.environment 是您唯一需要设置的字段。它告诉分类器哪些代码库、存储桶和域是受信任的:分类器使用它来决定”外部”的含义,因此任何未列出的目标都是潜在的数据泄露目标。
默认环境列表信任工作代码库及其配置的远程。要在该默认值旁边添加您自己的条目,请在数组中包含字面字符串 "$defaults"。默认条目会在该位置被拼接进去,因此您的自定义条目可以在它们之前或之后。
- 组织:您的公司名称以及 Claude Code 的主要用途,例如软件开发、基础设施自动化或数据工程
- 源代码控制:您的开发者推送到的每个 GitHub、GitLab 或 Bitbucket 组织
- 云提供商和受信任的存储桶:Claude 应该能够读取和写入的存储桶名称或前缀
- 受信任的内部域:您网络内的 API、仪表板和服务的主机名,例如
*.internal.example.com - 关键内部服务:CI、工件注册表、内部包索引、事件工具
- 其他上下文:受管制行业的约束、多租户基础设施或影响分类器应将什么视为风险的合规要求
覆盖阻止和允许规则
三个额外的字段让您替换分类器的内置规则列表:autoMode.hard_deny 用于无条件安全边界,autoMode.soft_deny 用于用户意图可以清除的破坏性操作,以及 autoMode.allow 用于例外。每个都是散文描述的数组,读作自然语言规则。对于在分类器之前运行的基于工具模式的硬阻止,请使用 permissions.deny。
在分类器内,优先级分为四个层级:
hard_deny规则无条件阻止。用户意图和allow例外不适用。soft_deny规则接下来阻止。用户意图和allow例外可以覆盖这些。allow规则然后覆盖匹配的soft_deny规则作为例外。- 明确的用户意图覆盖剩余的软阻止:如果用户的消息直接且具体地描述 Claude 即将采取的确切操作,分类器允许它,即使
soft_deny规则匹配。
allow。要收紧,为您的环境特定的破坏性风险添加到 soft_deny(默认值会遗漏),或为必须永远不能跨越的安全边界添加到 hard_deny。要保持内置规则同时添加您自己的规则,请在数组中包含字面字符串 "$defaults"。默认规则会在该位置拼接,因此您的自定义规则可以在它们之前或之后,并且当内置列表在版本发布中更改时,您继续继承更新。
在不包含
"$defaults" 的情况下设置 environment、allow、soft_deny 或 hard_deny 中的任何一个会替换该部分的整个默认列表。没有 "$defaults" 的 soft_deny 数组会丢弃每个内置软阻止规则,包括强制推送、curl | bash 和生产部署。没有 "$defaults" 的 hard_deny 数组会丢弃内置的数据泄露和自动模式绕过规则。environment 会保持默认 allow、soft_deny 和 hard_deny 列表完整。仅在您打算完全拥有该列表时才省略 "$defaults"。要安全地执行此操作,请运行 claude auto-mode defaults 打印内置规则,将它们复制到您的设置文件中,然后根据您自己的管道和风险容限审查每条规则。
检查默认值和您的有效配置
三个 CLI 子命令帮助您检查和验证您的配置。 将内置environment、allow、soft_deny 和 hard_deny 规则打印为 JSON:
allow、soft_deny 和 hard_deny 规则的 AI 反馈:
claude auto-mode config 以确认有效规则是您期望的,其中 "$defaults" 已展开到位。如果您编写了自定义规则,claude auto-mode critique 会审查它们并标记模糊、冗余或可能导致误报的条目。如果您需要删除或重写内置规则而不是在其旁边添加,请将 claude auto-mode defaults 的输出保存到文件,编辑列表,并将结果粘贴到您的设置文件中以替换 "$defaults"。
查看拒绝
当自动模式拒绝工具调用时,拒绝被记录在/permissions 下的”最近拒绝”选项卡中。在被拒绝的操作上按 r 将其标记为重试:当您退出对话框时,Claude Code 发送一条消息告诉模型它可能重试该工具调用并恢复对话。
对同一目标的重复拒绝通常意味着分类器缺少上下文。将该目标添加到 autoMode.environment,然后运行 claude auto-mode config 确认它生效。
要以编程方式对拒绝做出反应,请使用 PermissionDenied hook。