简介
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、网络请求等依然拦截并请求审批。
⚠️ 注意:不是完全无限制自动执行;官方有限制,部分环境不可用。
- 适用场景:本地快速原型开发,熟悉的小型项目。不建议生产环境使用。
交互入口(三种使用界面,底层共用这套交互模式)
- 终端CLI交互:执行
claude进入交互式会话,Shift+Tab切换模式 - VS Code扩展:侧边面板内切换交互模式,Diff预览在编辑器内展示
- 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预览:文件修改时,查看变更对比,支持单条改动接受/拒绝
推荐工作流(官方最佳实践)
- 开启会话,切换到 Plan模式:读取项目,输出Coding Plan
- 人工审阅方案,提出修改意见
- 切换为 Manual模式(或Accept Edits),执行代码修改
- 每一步变更查看Diff,按需批准;随时
Ctrl+C中断
模式对比表
| 模式 | 文件修改 | Shell命令 | 推荐场景 |
|---|---|---|---|
| Manual(默认) | 需要审批 | 需要审批 | 新项目、生产代码、高危操作 |
| Accept Edits | 自动通过 | 需要审批 | 本地开发,加速编码 |
| Plan | 禁止修改 | 仅安全查询 | 需求调研、方案设计、代码审计 |
| Auto | 风险自动判定 | 高危操作拦截 | 本地小型原型,谨慎使用 |
常见问题
- 切换模式后,是否全局永久生效?
仅当前会话生效,重新开启claude会话,自动重置为 Manual。 - Plan模式下,可以执行git查看、读取日志吗?
可以,仅禁止写入/修改文件;只读查询类命令允许执行。 - IDE插件里找不到模式切换按钮?
使用斜杠命令/mode plan或者快捷键Shift+Tab;部分IDE版本只支持命令切换。
安全提示
- 生产仓库、多人协作项目,优先使用默认 Manual 模式。
- Auto模式风险较高,不建议在包含重要数据的项目长期使用。
- 任何模式下,依然建议使用
.claude/ignore屏蔽密钥、隐私文件。
0 条笔记