权限模式选择
一句话
控制 Claude 在编辑文件或运行命令前是否需要用户批准,通过不同权限模式平衡便利性和安全性。
什么时候翻这页
- 需要调整 Claude 在工作流程中的自主程度时
- 遇到频繁的权限提示影响工作效率时
- 在 CI/CD 管道中需要限制 Claude 操作范围时
- 使用敏感数据或关键系统需要额外安全保障时
核心概念
- 权限模式 (permission mode): 控制 Claude 在执行操作前是否暂停并请求用户批准的设置
- 默认模式 (default): Claude 每次操作前都会请求批准,最安全但交互最多
- 自动编辑模式 (acceptEdits): 自动批准文件编辑和常见文件系统命令,减少交互
- 计划模式 (plan): Claude 只分析和提出计划,不直接修改文件
- 自动模式 (auto): 完全消除权限提示,由分类器模型审查操作安全性
- 不询问模式 (dontAsk): 自动拒绝所有未明确允许的工具调用
- 绕过权限模式 (bypassPermissions): 完全禁用权限提示和安全检查,仅在隔离环境中使用
- 受保护路径 (protected paths): 在所有模式下(除 bypassPermissions 外)都不会自动批准写入的特殊路径
怎么做
切换权限模式
-
CLI 中:
- 会话中按
Shift+Tab循环切换模式 - 启动时使用
--permission-mode标志指定模式 - 在设置中配置
defaultMode作为默认模式
- 会话中按
-
VS Code 中:
- 点击提示框底部的模式指示器
- 在设置中配置
claudeCode.initialPermissionMode
-
JetBrains 中:
- 与 CLI 相同,按
Shift+Tab循环切换
- 与 CLI 相同,按
-
桌面应用中:
- 使用发送按钮旁边的模式选择器
-
Web 和移动应用中:
- 使用提示框旁边的模式下拉菜单
设置特定模式
-
acceptEdits 模式:
- 按
Shift+Tab从默认模式进入 - 或启动时使用
claude --permission-mode acceptEdits
- 按
-
plan 模式:
- 按
Shift+Tab或在提示前加/plan - 或启动时使用
claude --permission-mode plan
- 按
-
auto 模式:
- 需要满足特定账户要求
- 在
Shift+Tab循环中显示并可选择启用
-
dontAsk 模式:
- 仅能通过启动标志设置:
claude --permission-mode dontAsk
- 仅能通过启动标志设置:
-
bypassPermissions 模式:
- 仅能通过启动标志设置:
claude --permission-mode bypassPermissions
- 仅能通过启动标志设置:
命令 / 配置速查
| 命令/配置 | 说明 |
|---|---|
--permission-mode | 启动时指定权限模式 |
Shift+Tab | 在 CLI 中循环切换权限模式 |
defaultMode | 在设置中配置默认权限模式 |
claudeCode.initialPermissionMode | VS Code 中设置初始权限模式 |
CLAUDE_CODE_ENABLE_AUTO_MODE | 在 Bedrock、Vertex AI 或 Foundry 上启用 auto 模式 |
初学者易错点
- 误认为
auto模式是完全安全的,实际上它只是减少了提示,仍需谨慎使用 - 在非隔离环境中使用
bypassPermissions模式可能导致系统安全风险 - 忽略
auto模式的账户要求,导致无法启用该模式 - 混淆权限模式和权限规则,权限模式是全局设置,权限规则是特定工具的精细控制
- 在项目设置中设置
defaultMode: "auto"不会生效,必须移至用户设置
相关词条
permissions权限规则管理auto-mode-config自动模式配置hooks自定义权限逻辑ultraplan浏览器计划模式审查security安全保障和最佳实践sandboxing文件系统和网络隔离