是什么
auto-mode-config 是 auto mode 的配置参考,通过 autoMode settings 块告知分类器(classifier)哪些 repo、bucket 和域名是可信的,从而让 Claude Code 在无需权限提示的情况下安全执行常规内部操作。
核心机制
Auto Mode 工作原理 Auto mode 让每个工具调用经过分类器审查,阻止不可逆、破坏性或指向外部环境的操作。默认只信任工作目录和当前 repo 的 configured remotes,其他目标(公司 SCM、云 bucket)需要显式配置。
配置读取位置
| Scope | 文件 | 用途 |
|---|---|---|
| 个人 | ~/.claude/settings.json | 个人可信基础设施 |
| 项目(个人) | .claude/settings.local.json | 项目级可信配置,gitignore |
| 组织 | Managed settings | 全员分发的可信基础设施 |
| 自动化 | --settings 或 Agent SDK | 单次调用覆盖 |
注意:分类器不读取 .claude/settings.json(共享项目设置),防止 repo 注入自己的 allow 规则。
定义可信基础设施
{
"autoMode": {
"environment": [
"$defaults",
"Source control: github.example.com/acme-corp and all repos under it",
"Trusted cloud buckets: s3://acme-build-artifacts, gs://acme-ml-datasets",
"Trusted internal domains: *.corp.example.com",
"Key services: Jenkins at ci.example.com, Artifactory at artifacts.example.com"
]
}
}$defaults 占位符保留默认的工作 repo 和 remotes,自定义条目可放在前后。
覆盖 block/allow 规则
autoMode.allow:添加分类器默认会阻止的操作的例外autoMode.soft_deny:添加软阻止规则(可被 allow 覆盖)autoMode.hard_deny:添加硬阻止规则(不可被覆盖)
检查有效配置
claude auto-mode show # 显示当前有效配置
claude auto-mode denials # 查看最近的拒绝记录关键细节
- Auto mode 可用计划:Max、Team、Enterprise、API(Anthropic API);不可用:Pro、Bedrock、Vertex、Foundry
- 分类器是权限系统之后的第二道门,
permissions.deny在分类器之前执行且不可覆盖 - 开发者添加的
allow条目可以覆盖组织的soft_deny,但不能覆盖hard_deny - CLAUDE.md 中的指令同时影响 Claude 和分类器(如”never force push”)
与其他概念的关联
- permissions - 权限系统(分类器之前的第一道门)
- server-managed-settings - 通过 managed settings 分发组织级 autoMode 配置
实践要点
environment条目用自然语言描述,写法类似向新工程师介绍基础设施- 先用
claude auto-mode denials查看被拒绝的操作,再针对性添加 environment 条目 - 组织级配置放 managed settings,个人可信基础设施放
~/.claude/settings.json