J'Blog

18 课 · 进阶

语义检索

基于 Chroma 向量库,与 Workspace 知识库分离。用自然语言描述你想查的内容。 非管理员每人每天可检索 5 次(消耗站点 AI 配额)。

权限模式选择

原文:Choose a permission mode

一句话

控制 Claude 在编辑文件或运行命令前是否需要用户批准,通过不同权限模式平衡便利性和安全性。

什么时候翻这页

  • 需要调整 Claude 在工作流程中的自主程度时
  • 遇到频繁的权限提示影响工作效率时
  • 在 CI/CD 管道中需要限制 Claude 操作范围时
  • 使用敏感数据或关键系统需要额外安全保障时

核心概念

  • 权限模式 (permission mode): 控制 Claude 在执行操作前是否暂停并请求用户批准的设置
  • 默认模式 (default): Claude 每次操作前都会请求批准,最安全但交互最多
  • 自动编辑模式 (acceptEdits): 自动批准文件编辑和常见文件系统命令,减少交互
  • 计划模式 (plan): Claude 只分析和提出计划,不直接修改文件
  • 自动模式 (auto): 完全消除权限提示,由分类器模型审查操作安全性
  • 不询问模式 (dontAsk): 自动拒绝所有未明确允许的工具调用
  • 绕过权限模式 (bypassPermissions): 完全禁用权限提示和安全检查,仅在隔离环境中使用
  • 受保护路径 (protected paths): 在所有模式下(除 bypassPermissions 外)都不会自动批准写入的特殊路径

怎么做

切换权限模式

  1. CLI 中:

    • 会话中按 Shift+Tab 循环切换模式
    • 启动时使用 --permission-mode 标志指定模式
    • 在设置中配置 defaultMode 作为默认模式
  2. VS Code 中:

    • 点击提示框底部的模式指示器
    • 在设置中配置 claudeCode.initialPermissionMode
  3. JetBrains 中:

    • 与 CLI 相同,按 Shift+Tab 循环切换
  4. 桌面应用中:

    • 使用发送按钮旁边的模式选择器
  5. Web 和移动应用中:

    • 使用提示框旁边的模式下拉菜单

设置特定模式

  1. acceptEdits 模式:

    • Shift+Tab 从默认模式进入
    • 或启动时使用 claude --permission-mode acceptEdits
  2. plan 模式:

    • Shift+Tab 或在提示前加 /plan
    • 或启动时使用 claude --permission-mode plan
  3. auto 模式:

    • 需要满足特定账户要求
    • Shift+Tab 循环中显示并可选择启用
  4. dontAsk 模式:

    • 仅能通过启动标志设置: claude --permission-mode dontAsk
  5. bypassPermissions 模式:

    • 仅能通过启动标志设置: claude --permission-mode bypassPermissions

命令 / 配置速查

命令/配置说明
--permission-mode启动时指定权限模式
Shift+Tab在 CLI 中循环切换权限模式
defaultMode在设置中配置默认权限模式
claudeCode.initialPermissionModeVS Code 中设置初始权限模式
CLAUDE_CODE_ENABLE_AUTO_MODE在 Bedrock、Vertex AI 或 Foundry 上启用 auto 模式

初学者易错点

  1. 误认为 auto 模式是完全安全的,实际上它只是减少了提示,仍需谨慎使用
  2. 在非隔离环境中使用 bypassPermissions 模式可能导致系统安全风险
  3. 忽略 auto 模式的账户要求,导致无法启用该模式
  4. 混淆权限模式和权限规则,权限模式是全局设置,权限规则是特定工具的精细控制
  5. 在项目设置中设置 defaultMode: "auto" 不会生效,必须移至用户设置

相关词条

  • permissions 权限规则管理
  • auto-mode-config 自动模式配置
  • hooks 自定义权限逻辑
  • ultraplan 浏览器计划模式审查
  • security 安全保障和最佳实践
  • sandboxing 文件系统和网络隔离

官方原文:https://code.claude.com/docs/en/permission-modes