Claude Code(Claude 的命令行 / IDE 工具)的 6 种权限模式对照表,整理成更清晰的版本,并补充关键解读与使用建议👇


📋 模式完整对照表

模式 核心作用 开启方式(3 种途径) 适用场景
default 默认模式:只读操作直接执行,文件修改 / 命令执行会弹窗询问

1. 默认启动;

2. 命令行:claude --permission-mode default

3.settings.json"defaultMode": "default"

新项目、敏感代码、首次使用,最安全
acceptEdits 自动接受文件编辑和常见文件系统命令(如mkdir/rm),但高风险命令仍会询问

1. 会话中按 Shift+Tab 切换;

2. 命令行:claude --permission-mode acceptEdits

3.settings.json"defaultMode": "acceptEdits"

日常代码编写、文件重构,减少确认疲劳
plan 只读模式:仅分析、读文件、写方案,不修改任何代码 / 文件

1. 会话中按 Shift+Tab 切换;

2. 命令行:claude --permission-mode plan

3. 单条消息前加 /plan

大规模重构前梳理方案、风险评估、只想看思路不碰代码
auto 自动执行大多数操作,内置 AI 安全检查:低风险操作直接放行,高风险操作(如删除、推送)仍会回退到手动确认

1. 命令行:claude --permission-mode auto

2. settings.json"defaultMode": "auto"

3. 部分场景下 Shift+Tab 可切换

自动化脚本、长任务、生产环境可用(比纯手动高效,比激进模式安全)
dontAsk 静默拒绝:不会弹窗询问,只有预先在配置中批准的工具 / 命令才能执行,其余全部拒绝

1. 命令行:claude --permission-mode dontAsk

2. settings.json"defaultMode": "dontAsk"

CI/CD 流水线、受限自动化环境,必须依赖配置白名单
bypassPermissions 最激进模式:跳过几乎所有权限检查,无确认直接执行所有命令(仅保护.git/.claude等关键目录)

1. 命令行:claude --permission-mode bypassPermissionsclaude --dangerously-skip-permissions

2. settings.json"defaultMode": "bypassPermissions"

仅限隔离容器 / 虚拟机环境,严禁在本地直接使用,有数据丢失风险

💡 关键解读与避坑指南

  1. 模式切换方式

    • Shift+Tab 是会话内快速切换的快捷键,但 **dontAskbypassPermissions 不在这个循环里 **,必须通过命令行或配置文件开启。
    • 配置文件的 defaultMode 是全局默认,开启后所有会话默认用该模式,临时模式可在会话中用快捷键覆盖。
  2. 安全与效率的平衡建议

    你的场景 推荐模式 理由
    刚上手 / 处理敏感代码 default 每步确认,零误操作风险
    日常开发 / 代码重构 acceptEdits 兼顾效率与安全,大部分编辑自动过,高危操作仍会提醒
    想先看方案再动手 plan 完全只读,不会意外修改文件
    自动化脚本 / CI 环境 auto / dontAsk auto 适合需要安全兜底的自动化;dontAsk 适合有严格白名单的场景
    本地直接运行(不推荐) bypassPermissions 可能误删文件、泄露数据,仅隔离环境可用
  3. 高危模式警告bypassPermissions 官方标注了 dangerously-skip-permissions,意味着它完全关闭了用户确认和安全检查,可能执行 rm -rf、修改系统文件、推送敏感代码等操作,绝对不要在本地开发环境直接使用


🔧 补充:如何设置全局默认模式

编辑 Claude Code 的配置文件(通常路径:~/.claude/settings.json),添加如下字段即可:

json

{
  "defaultMode": "acceptEdits"
}

保存后重启 Claude Code,所有会话就会默认使用你设置的模式了。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐