跳转到内容

Auto Mode 自动模式

Auto Mode(自动模式)是 Claude Code 权限模式里最受欢迎的一档。它像一台带「风险雷达」的自动驾驶辅助——大多数操作它帮你点过头,真要踩雷时它会把方向盘塞回你手里。在 best-practice 仓库的「Hot」概念表里,它常驻前排。

这一页是 Auto Mode 的深度展开。权限模式的全景(6 档对比)见 权限模式

default 模式太啰嗦——每改一个文件都问你一次,光点「允许」就耗掉半天心流。bypassPermissions 又太放肆——它什么都不问,连 rm -rf 都照放。

Auto Mode 介于两者之间:信任任务方向,但不盲信每一步。它替你筛掉安全的噪音,只把真正需要人眼的地方递上来。

两种方式:

Terminal window
# 启动时直接进
claude --permission-mode auto

或者在交互会话里按 Shift+Tab,在 Auto / Plan / Normal 之间循环切换,状态栏会显示当前档位。

Auto Mode 不是简单放行,它背后跑着一个分类器模型。每当 Claude 想执行一个工具调用,分类器先评估这条操作的风险,再决定放行还是问你。

Claude 想执行 → 分类器评估风险 →
├─ 低风险(如 Read、安全 Edit)→ 自动放行
└─ 高风险 → 弹权限提示,等你看一眼

会被拦下来请你过目的,大致是这几类「踩雷」操作:

风险类型 典型例子
范围越界(scope escalation) 想动约定范围之外的文件、改 CI 配置、碰部署脚本
未知基础设施 跑没见过的 shell 命令、装新依赖、改环境变量
可能被恶意内容驱动 操作里混着可疑指令、prompt 注入迹象

这就像一个副驾驶帮你盯着「这次变道安全吗」——它大多数时候比你判断得快,但最终拍板权还在你手里。

想看或调 Auto Mode 的默认阈值,用专门的命令:

Terminal window
claude auto-mode defaults

它会列出当前分类器的默认放行/拦截策略,对应官方 auto-mode-config 文档里的配置项。具体可调参数以官方最新文档为准——分类器行为会随版本迭代调整。

Auto Mode vs acceptEdits vs bypassPermissions

Section titled “Auto Mode vs acceptEdits vs bypassPermissions”

这三档最容易混淆,画一张表就清楚:

模式 放行规则 像什么
acceptEdits 只放行文件编辑,跑 bash 仍问你 自适应巡航——只信它打方向盘,刹车还得你来
auto 分类器逐条判断,安全放行、危险问你 有条件自动驾驶——带风险雷达
bypassPermissions 全部放行,什么都不问 完全脱手——只适合沙箱/容器

一句话区分:acceptEdits 只管编辑不管命令,auto 编辑和命令都管且按风险分诊,bypassPermissions 啥都不管。

适合:

  • 信任任务方向,但不想每步都点——日常开发的主力档。
  • 跨多文件的常规重构、写测试、跑 lint。
  • 你大致知道 Claude 在干嘛,只是不想被低风险操作打断心流。

不适合:

  • 改生产配置、动数据库、改部署脚本——这种用 plan 先想清楚,或 default 盯紧。
  • 完全陌生的项目第一次上手——先 default 摸清它的行为模式。
  • CI 流水线——那里用 dontAsk 更合适,因为它仍受 deny 表约束、可预测。

Auto Mode 仍然受 allow / ask / deny 三张表约束,且优先级是 deny > ask > allow > 当前模式默认。所以在 Auto Mode 下,给危险操作上一道 deny 双保险:

.claude/settings.json
{
"permissions": {
"deny": ["Bash(rm -rf /*:*)", "Bash(git push --force*:*)"],
"ask": ["Edit(.env)", "Edit(k8s/*)"]
}
}

这样即使分类器一时手滑,deny 表也会把红线操作挡死。

Auto Mode 是带风险雷达的自动驾驶:分类器逐条审查工具调用,安全放行、危险拦截。日常用 auto 省心,敏感用 plan 盯紧,容器里才上 bypass——把方向盘留在自己手里,把油门交给分类器。

下一站,去看 Fast Mode 加速模式 怎么让它跑得更快。🏎️