Claude Code自动模式:官方文档解读安全放手之道,资深用户说这才是「真正用 AI 写代码」
✅点击上方🔺公众号🔺关注我✅
Claude Code 最近更新了一套权限系统,一共 6 种模式,覆盖了从”每一步都问”到”完全放手”的完整光谱。
我花时间把那篇官方文档完整读了一遍,发现这个东西比想象中有意思——它不是简单加了个”是否弹窗确认”的开关,而是把 AI 写代码时的人和 AI 之间的信任关系做了分层。
6 种模式,从保守到开放
Claude Code 的权限模式用 Shift+Tab 可以在会话中循环切换。官方文档列了 6 档,每一档对”什么事不用问你就直接干”有不同的设定:
| 模式 | 自动执行范围 | 适合场景 |
|---|---|---|
| default | 只读操作 | 刚上手、敏感操作 |
| acceptEdits | 读 + 文件编辑 + 常用文件命令 | 边 review 边迭代代码 |
| plan | 只读,只做分析不执行 | 先探索代码库再改 |
| auto | 全部(后台 classifier 安全审查) | 长任务、减少弹窗疲劳 |
| dontAsk | 仅预先批准的工具 | 锁定环境的 CI/脚本 |
| bypassPermissions | 全部(无审查) | 仅限隔离容器和 VM |
(后面几个需要主动通过命令行参数开启,不在默认的 Shift+Tab 循环里。)
这套分级最巧妙的地方是,它不是简单二分——”问”或”不问”——而是在中间加了几个实用档位。
中间档位比想象中有用
之前很多人体验 Claude Code 的权限只有两个极端:要么每一步都停下来问(烦),要么 –dangerously-skip-permissions 全放(危险)。
这次新增的中间档补齐了缺口。
acceptEdits 模式可以自动批准文件编辑和常用文件命令(mkdir、touch、rm、mv、cp、sed),但仅限于工作目录内,写 protected paths 的操作仍然需要确认。适合你 review 代码过程中让 Claude 改文件的场景。
plan 模式把 Claude 完全限定在”只读”状态:可以读文件、跑 shell 命令探索代码库,但不会改你的源码。Claude 写一份计划,你审核通过后选择执行模式。还有一个细节是 Ctrl+G 可以直接在编辑器里编辑计划文本再让 Claude 执行。
auto 模式是最高一档有安全兜底的自动执行。背后有一个独立的 classifier 模型对每个操作做审查,拦截越界行为。
Auto mode 的 classifier 怎么工作
这是官方文档里最有信息量的部分。
Auto mode 不会把全部控制权交给 Claude。每次执行前,一个独立的分类器模型会检查操作是否合理:
默认允许的操作:
- 工作目录内的本地文件操作
- 安装 lock 文件声明的依赖
- 读取
.env并发送凭证到对应的 API - 只读 HTTP 请求
- 推到你当前分支或 Claude 创建的分支
默认拦截的操作:
curl | bash这类下载执行- 向外部端点发送敏感数据
- 生产部署和数据库迁移
- 云存储批量删除
- 授予 IAM 或仓库权限
- 修改共享基础设施
- 销毁会话开始前已存在的文件
- Force push 或直接推 main
classifier 默认信任工作目录和仓库配置的 remote,其他外部操作都被视为不可信。管理员可以通过 autoMode.environment 配置添加可信的仓库、存储桶和服务。
另外有一个有意思的设定:如果你在对话中说了”别推””等我 review 再部署”这类边界声明,classifier 也会据此拦截匹配的操作——即使默认规则本来允许。
用 auto mode 的条件
官方文档明确了几个硬性条件:
- Claude Code v2.1.83 或更新
- 所有计划(Pro 及以上均支持,Max 和 Pro 都可以)
- 模型:Sonnet 4.6、Opus 4.6 或 Opus 4.7(部分旧模型不支持)
- 仅限 Anthropic API(Bedrock、Vertex、Foundry 暂不可用)
- Team/Enterprise 需要管理员先在后台开启
如果满足条件,在会话中按 Shift+Tab 切到 auto,会弹出一个确认窗口,接受后就能用了。
值得一提的是,auto mode 被官方标注为”research preview”——它在减少弹窗的同时,不能保证绝对安全。”适用场景是方向明确的任务,不能替代敏感操作的 review。”
一个用户的视角
TypeScript 创始人之一 Boris Cherny 在 auto mode 上线后发了条推文,22 万阅读,2000 点赞。他说现在用 Claude Code 最重要的技巧是 auto mode。
理由不是省几个弹窗——他原话是:“auto mode 是 multi-clauding 的关键基石——开一个会话让它自己跑,同时切去干另一件事。”
把 auto mode 放到模式体系里来看,这句话就更容易理解了。在 auto 之前,你只有两个选择:守着它干完一个任务,或者冒全放手的风险。auto mode 卡在中间,安全有 classifier 兜底,工作流不需要你盯着。
于是你可以开一个会话重构模块,同时写另一个模块的测试。这在以前很难做到。

不过 Boris 的用法有一个隐含前提:你对代码方向有把握。auto mode 不适合探索不熟悉的代码库(应该用 plan 模式先),也不适合操作生产环境。
官方文档也说了同样的话:“在信任大方向的任务中使用,不能替代敏感操作的 review。”
几个值得注意的细节
文档里还提到几个容易被忽略的点:
- auto mode 不在项目级设置文件中生效。如果设置了
defaultMode: "auto"在.claude/settings.json里,会静默回退到 default 模式——这是为了防止仓库自行为你开启 auto。 - 会话中说的边界声明会被 classifier 记住。说了”别推”就会拦住 push 操作,直到你主动解除。
- plan 模式下的审核支持 /Ultraplan,可以在浏览器里可视化 review 计划再决定是否执行。
- acceptEdits 模式下 PowerShell 也能用,Set-Content、Add-Content 等命令同样可自动批准。
如果说以前 Claude Code 的权限像”问或不问”的二极管,这次更新把它变成了一套完整的信任分级体系。什么操作让 AI 自己决定,什么操作必须停下来,什么操作只能看不能动,终于可以按场景灵活配置了。
写到这我想问一句:你平时用 AI 编程工具,习惯每一步看着它做,还是更希望它自己跑完回来汇报?评论区聊聊你的工作流。
如果觉得这篇文章有帮助,欢迎点赞、在看、转发!有问题也可以在评论区留言,我会尽量回复!
夜雨聆风