自学教程

Claude Code 交互模式

简介

Claude Code 交互模式,用来控制 Claude 修改文件、执行终端命令的权限策略。
一共有4种权限交互模式:Manual(默认)、Accept Edits、Plan、Auto。
在会话中按 Shift+Tab 可以快速循环切换模式。

模式只对当前会话生效;新开会话会重置为默认 Manual 模式。

四种交互模式详解

1. Manual 手动模式(默认推荐)

  • 行为:Claude 在修改文件、执行终端命令前,必须先请求你的批准,展示代码Diff,你可以选择接受/拒绝本次操作。
  • 适用场景:新项目、陌生仓库、高危操作、生产代码,安全性最高。
  • 特点:每一处文件改动、每一条shell命令都会弹窗确认,防止误删、破坏性操作。

2. Accept Edits 自动接受文件修改

  • 行为:自动批准文件编辑、基础文件操作(mkdir、touch、mv等);但执行终端Shell命令依然需要人工确认。
  • 适用场景:本地开发、信任项目,希望减少频繁确认,提升迭代速度。

文件变更自动应用,终端命令保持人工审核。

3. Plan 规划模式(只读模式)

  • 行为:Claude 仅读取文件、检索项目、分析代码,不会修改任何源码。只会输出完整方案、Coding Plan,等待你确认后,再切换到其他模式执行。
  • 适用场景:大型重构、复杂需求,先调研项目、输出方案,审核通过后再动手改代码。
  • 最佳实践:复杂任务优先使用Plan模式,避免盲目改动代码。

4. Auto 自动模式

  • 行为:后台安全分类器自动判断操作风险,低风险操作自动执行;高危shell、网络请求等依然拦截并请求审批。

⚠️ 注意:不是完全无限制自动执行;官方有限制,部分环境不可用。

  • 适用场景:本地快速原型开发,熟悉的小型项目。不建议生产环境使用。

交互入口(三种使用界面,底层共用这套交互模式)

  1. 终端CLI交互:执行 claude 进入交互式会话,Shift+Tab 切换模式
  2. VS Code扩展:侧边面板内切换交互模式,Diff预览在编辑器内展示
  3. JetBrains插件:IDE内使用快捷键切换,原生IDE Diff面板预览变更

模式切换操作

方式1:快捷键切换(会话内)

Shift + Tab 循环切换:Manual → Accept Edits → Plan → Auto

方式2:斜杠命令切换

/mode manual
/mode acceptedits
/mode plan
/mode auto

方式3:启动时直接指定模式

# 直接以Plan模式启动会话
claude --permission-mode plan

会话基础交互操作

  • Esc / Ctrl+C:中断Claude当前执行,暂停任务,等待你继续指令
  • 中途追加指令:Claude运行过程中,直接输入新需求排队,不需要新开会话
  • Diff预览:文件修改时,查看变更对比,支持单条改动接受/拒绝

推荐工作流(官方最佳实践)

  1. 开启会话,切换到 Plan模式:读取项目,输出Coding Plan
  2. 人工审阅方案,提出修改意见
  3. 切换为 Manual模式(或Accept Edits),执行代码修改
  4. 每一步变更查看Diff,按需批准;随时 Ctrl+C 中断

模式对比表

模式文件修改Shell命令推荐场景
Manual(默认)需要审批需要审批新项目、生产代码、高危操作
Accept Edits自动通过需要审批本地开发,加速编码
Plan禁止修改仅安全查询需求调研、方案设计、代码审计
Auto风险自动判定高危操作拦截本地小型原型,谨慎使用

常见问题

  1. 切换模式后,是否全局永久生效?
    仅当前会话生效,重新开启 claude 会话,自动重置为 Manual。
  2. Plan模式下,可以执行git查看、读取日志吗?
    可以,仅禁止写入/修改文件;只读查询类命令允许执行。
  3. IDE插件里找不到模式切换按钮?
    使用斜杠命令 /mode plan 或者快捷键 Shift+Tab;部分IDE版本只支持命令切换。

安全提示

  • 生产仓库、多人协作项目,优先使用默认 Manual 模式。
  • Auto模式风险较高,不建议在包含重要数据的项目长期使用。
  • 任何模式下,依然建议使用 .claude/ignore 屏蔽密钥、隐私文件。
标签:

0 条笔记