一文带你掌握Claude Code的六种授权模式

文章目录
  • 不查不知道,一查吓一跳,原来有这么多种模式。 根据Claude官方文档中的描述,目前有六种模式。 设置方式如下: claude –permission-mode default claude –permission-mode acceptEdits claude –permission-mode plan claude –permission-mode auto claude –permission-mode dontAsk claude –permission-mode bypassPermissions 启动的时候通过参数传递,会覆盖 settings 文件里的 defaultMode!
  • 我整理了一个表格,通过这个表格可以快速学习不同模式的含义和使用场景。 模式 含义 适合场景 风险 default 标准权限模式 日常开发、最稳妥 低 acceptEdits 自动接受文件编辑 写代码、批量改文件 中低 plan 规划模式 大重构、复杂任务、先看方案 低 auto 自动模式 想减少确认,又不想完全放开 中 dontAsk 不询问模式 非交互、自动化、CI、脚本环境 中 bypassPermissions 跳过权限检查 容器、沙盒、临时测试环境 高 看这个表格应该很清晰了。我也可以做一个更加清晰的图片! 标准权限模式: Claude Code 按默认规则工作,遇到需要授权的编辑、命令、工具调用会询问你。 自动接受文件编辑: 也就是 Claude 改文件时更少打断你,但执行命令、危险操作仍可能需要确认。 规划模式: 主要让 Claude 先分析和制定计划,默认偏只读,不直接改代码。 自动模式: 由 Claude Code 的权限分类器判断哪些工具调用可以自动放行,哪些要拦截或继续询问。它比 bypassPermissions 安全,但比 default 少打断。 不询问模式: 对于没有预先允许的操作,不再弹窗问你,而是直接拒绝。 跳过权限检查: 基本等价于危险跳过模式,会尽量不再询问授权
  • 写到: ~/.claude/settings.json 例如默认启用 auto: {  “permissions”: {    “defaultMode”: “auto” } } 默认启用 acceptEdits: {  “permissions”: {    “defaultMode”: “acceptEdits” } }
  • Claude Code 交互界面里通常可以用: Shift + Tab 切换权限模式。官方权限模式文档也说明,可以在 CLI 中用 Shift+Tab 循环切换模式。
  • 日常开发: claude –permission-mode auto 大型改动前: claude –permission-mode plan 想让它少问编辑确认: claude –permission-mode acceptEdits 自动化/非交互: claude –permission-mode dontAsk 沙盒环境才用: claude –permission-mode bypassPermissions 当前上面的建议是对于一般人的建议,非一般的人,建议直接启用最后一种,当然也是最危险的一种! 就我的实践来看,目前的智能一点的模型,很少会主动做危险的操作。而且大部分人,在面对授权询问的时候会无脑选择Yes,All,Aways! 每次要记住这一长串,其实还是有点难度的。 所以我会在Claude Code启动器Jcode和Claude Code桌面版JClaude中通添加这个选项!重点是会添加“bypassPermissions” ,给了老司机用。 到此这篇关于一文带你掌握Claude Code的六种授权模式的文章就介绍到这了,更多相关Claude Code授权模式内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!
  • 目录
    • 1、六种权限我模式
    • 2、含义和使用场景
    • 3、重点解释
      • default
      • acceptEdits
      • plan
      • auto
      • dontAsk
      • bypassPermissions
    • 4、永久设置默认模式
      • 5、运行中切换
        • 6、使用建议

          第一次使用Claude Code的所有人都会遇到“授权提示” !

          一直弹窗很烦,很可能你以为开始了工作了,其实它还在等你授权。

          你想把它关了,又不知道怎么关,或者害怕没控制好权限会出什么问题。

          我也是懒得研究一直用acceptEdits模式!

          最近,我想给JClaude和JCode添加一个“全自动” 模式,所以专门 研究了一下。

          下面分享一下我整理好的资料!

          不查不知道,一查吓一跳,原来有这么多种模式。

          根据Claude官方文档中的描述,目前有六种模式。

          设置方式如下:

          claude --permission-mode default
          claude --permission-mode acceptEdits
          claude --permission-mode plan
          claude --permission-mode auto
          claude --permission-mode dontAsk
          claude --permission-mode bypassPermissions

          启动的时候通过参数传递,会覆盖 settings 文件里的 defaultMode!

          我整理了一个表格,通过这个表格可以快速学习不同模式的含义和使用场景。

          模式 含义 适合场景 风险
          default 标准权限模式 日常开发、最稳妥 低
          acceptEdits 自动接受文件编辑 写代码、批量改文件 中低
          plan 规划模式 大重构、复杂任务、先看方案 低
          auto 自动模式 想减少确认,又不想完全放开 中
          dontAsk 不询问模式 非交互、自动化、CI、脚本环境 中
          bypassPermissions 跳过权限检查 容器、沙盒、临时测试环境 高

          看这个表格应该很清晰了。我也可以做一个更加清晰的图片!

          标准权限模式:

          Claude Code 按默认规则工作,遇到需要授权的编辑、命令、工具调用会询问你。

          自动接受文件编辑:

          也就是 Claude 改文件时更少打断你,但执行命令、危险操作仍可能需要确认。

          规划模式:

          主要让 Claude 先分析和制定计划,默认偏只读,不直接改代码。

          自动模式:

          由 Claude Code 的权限分类器判断哪些工具调用可以自动放行,哪些要拦截或继续询问。它比 bypassPermissions 安全,但比 default 少打断。

          不询问模式:

          对于没有预先允许的操作,不再弹窗问你,而是直接拒绝。

          跳过权限检查:

          基本等价于危险跳过模式,会尽量不再询问授权

          最保守、最常用。

          claude --permission-mode default
          

          它会按默认权限系统运行:该问你的时候问你,问的还是比较多的。适合刚上手的时候用。

          自动接受编辑。

          claude --permission-mode acceptEdits
          

          这个模式主要减少“是否允许修改文件”的确认。 但是它不是完全放开权限,执行 Bash、访问敏感文件、运行危险命令时,仍然可能受到权限规则限制。

          适合你让它连续改代码、修 bug、重构多个文件。

          规划模式。

          claude --permission-mode plan
          

          它更像“先别动手,先说方案”。 适合你让 Claude Code 先阅读项目、理解结构、提出修改计划,然后你确认后再切到其他模式执行。

          新的自动权限模式。

          claude --permission-mode auto
          

          这个可以称为智能模式。

          官方工程博客说,auto mode 是用分类器自动处理一部分权限决策,用来减少审批疲劳,同时比直接跳过权限更安全。

          简单理解:

          • default:经常问你
          • auto:能判断安全的自动放行,风险高的拦截或询问
          • bypassPermissions:尽量不问,直接放行

          另外官方 settings 文档提到:

          从 Claude Code v2.1.142 开始,
          ​
          如果把 `auto` 写在项目级 `.claude/settings.json` 或 `.claude/settings.local.json` 里会被忽略
          ​
          避免某个仓库自己给自己开启 auto。
          ​
          要默认启用 auto,应写到用户级 `~/.claude/settings.json`。

          不再询问,没被允许就拒绝。

          claude --permission-mode dontAsk
          

          这个名字容易误解。它不是“什么都同意”,而是“不要问我”。 所以如果某个工具调用没有被你的权限规则预先允许,它会直接失败/拒绝,而不是弹窗让你点同意。

          适合非交互场景,比如:

          claude -p "帮我检查项目问题" --permission-mode dontAsk
          

          因为非交互模式下,你不希望它卡在权限确认那里。

          危险跳过模式。

          claude --permission-mode bypassPermissions
          

          它等价于常见的:

          claude --dangerously-skip-permissions
          

          也就是跳过权限提示。只建议在 Docker、临时目录、测试仓库、虚拟机这种可丢弃环境里用。

          写到:

          ~/.claude/settings.json

          例如默认启用 auto:

          {
            "permissions": {
              "defaultMode": "auto"
            }
          }

          默认启用 acceptEdits:

          {
            "permissions": {
              "defaultMode": "acceptEdits"
            }
          }

          Claude Code 交互界面里通常可以用:

          Shift + Tab
          

          切换权限模式。官方权限模式文档也说明,可以在 CLI 中用 Shift+Tab 循环切换模式。

          日常开发:

          claude --permission-mode auto
          

          大型改动前:

          claude --permission-mode plan
          

          想让它少问编辑确认:

          claude --permission-mode acceptEdits
          

          自动化/非交互:

          claude --permission-mode dontAsk
          

          沙盒环境才用:

          claude --permission-mode bypassPermissions
          

          当前上面的建议是对于一般人的建议,非一般的人,建议直接启用最后一种,当然也是最危险的一种!

          就我的实践来看,目前的智能一点的模型,很少会主动做危险的操作。而且大部分人,在面对授权询问的时候会无脑选择Yes,All,Aways!

          每次要记住这一长串,其实还是有点难度的。

          所以我会在Claude Code启动器Jcode和Claude Code桌面版JClaude中通添加这个选项!重点是会添加“bypassPermissions” ,给了老司机用。

          到此这篇关于一文带你掌握Claude Code的六种授权模式的文章就介绍到这了,更多相关Claude Code授权模式内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!

          站内搜索