Claude Code 权限模式
课程导读
这节课主要解决一个实际使用中的问题:Claude Code 工作时为什么总是弹出权限申请,以及不同权限模式分别适合什么场景。学完之后,你应该能根据任务风险,选择普通模式、自动编辑模式、计划模式,或更高权限的启动方式。
二、模式切换方式
在 Claude Code 会话中,可以使用快捷键切换常用模式:
| 快捷键 | 作用 |
|---|---|
Shift + Tab | 在可用权限模式之间循环切换 |
默认情况下,通常会在下面几种模式之间切换:
| 显示名称 | 模式含义 |
|---|---|
default | 普通模式 |
accept edits | 自动编辑模式 |
plan | 计划模式 |
三、default:普通模式
普通模式是 Claude Code 默认进入的模式,这个模式的特点可以简单理解为:有事先请示。
| 行为 | 是否需要确认 |
|---|---|
| 读取当前项目文件 | 通常不需要 |
| 创建或修改文件 | 通常需要 |
| 执行终端命令 | 通常需要 |
| 访问网络或外部资源 | 通常需要 |
适合场景:
- 刚开始学习 Claude Code。
- 对命令行和文件操作还不熟悉。
- 正在处理重要项目或敏感文件。
四、accept edits:自动编辑模式
在这个模式下,Claude Code 可以更顺畅地创建和编辑项目文件。
| 行为 | 权限特点 |
|---|---|
| 读取文件 | 自动允许 |
| 创建或编辑工作目录内的文件 | 自动允许 |
| 常见文件系统命令 | 通常自动允许,例如 mkdir、touch、mv、cp 等 |
| 其他终端命令 | 仍可能弹出确认 |
| 访问工作目录外的路径 | 仍可能弹出确认 |
适合场景:
- 你已经确认任务方向。
- 你希望减少创建和编辑文件时的确认弹窗。
- 你愿意在任务完成后自己检查结果。
启动方式:
| 方式 | 操作 |
|---|---|
| 会话中切换 | Shift + Tab 切换到 accept edits |
| 启动时指定 | claude --permission-mode acceptEdits |
五、plan:计划模式
计划模式对应 plan。它适合在正式开发前,先让 Claude Code 调研、理解项目并制定方案。
在计划模式下,Claude Code 不会直接修改源码,但仍可能读取文件、调研项目、访问网络或请求必要权限。
适合场景:
- 需求还不明确,需要先讨论方案。
- 项目比较复杂,不想让 Claude Code 立刻动手改代码。
- 希望先审阅开发计划,再决定是否进入开发阶段。
启动方式:
| 方式 | 操作 |
|---|---|
| 会话中切换 | Shift + Tab 切换到 plan |
| 启动时指定 | claude --permission-mode plan |
| 单次进入计划 | 输入 /plan |
计划完成后,Claude Code 通常会让你选择下一步:
| 选项 | 含义 |
|---|---|
| 同意并进入更自动的模式 | 让 Claude Code 按计划开始实现,减少确认 |
| 同意但手动审查编辑 | 按计划实现,但继续逐步确认 |
| 继续规划 | 把反馈发回去,让 Claude Code 重新调整方案 |
比较推荐的流程是:先用计划模式确认方案,再进入普通模式或自动编辑模式实现。
API 小知识
API 可以简单理解为服务商提供给程序使用的接口。
你可以把它类比成去饭店点菜:
| 类比 | API 中对应的概念 |
|---|---|
| 菜单 | 接口文档 |
| 点菜要求 | 请求参数 |
| 后厨做菜 | 服务商处理请求 |
| 端上来的菜 | 接口返回的数据 |
比如天气查询 API,通常会要求你传入城市、经纬度或者其他查询参数。程序把这些参数发送给接口后,接口就会返回对应地区的天气数据。
六、斜杠命令
Claude Code 没有传统软件那种完整的图形菜单,所以很多功能会通过斜杠命令触发。
| 操作 | 作用 |
|---|---|
/ | 打开内置命令列表 |
| 输入关键词 | 模糊搜索命令 |
Enter | 直接执行当前命令 |
Tab | 补全命令,方便继续填写参数 |
例如重命名当前会话:
/rename 郑州实时天气也可以在启动 Claude Code 时直接设置会话名称:
claude -n 郑州实时天气七、权限配置文件
在项目中,你可能会看到一个 .claude 隐藏文件夹。
这个文件夹里会保存 Claude Code 的项目配置,例如已经授予的权限规则等。里面常见的是 json 格式文件。
一般情况下,不需要手动编辑 .claude 里的配置。如果想撤销或调整某个权限,可以直接告诉 Claude Code,让它帮你处理。
八、绕过权限模式
绕过权限模式也叫 bypassPermissions,很多人会把它叫作 YOLO 模式。
它会跳过几乎所有权限确认,让 Claude Code 直接执行任务。
启动命令:
claude --dangerously-skip-permissions也可以写成:
claude --permission-mode bypassPermissions注意
这个模式风险很高,只建议在容器、虚拟机、开发容器等隔离环境中使用。不要在重要资料、生产环境或不熟悉的项目中随便开启。
适合场景:
- 你非常熟悉当前项目。
- 当前环境已经隔离,即使出错也不会影响主机或重要文件。
- 你希望减少所有中间确认,让 Claude Code 连续完成任务。
九、自动模式
自动模式对应 auto。
它和绕过权限模式的区别是:自动模式会尽量减少人工确认,但会由后台安全检查机制判断某些动作是否允许执行。
| 模式 | 特点 |
|---|---|
bypassPermissions | 跳过权限提示和大部分安全检查 |
auto | 尽量自动执行,但会进行后台安全检查 |
自动模式适合减少权限疲劳,但它不是绝对安全的替代方案。官方也把它定位为研究预览能力,并且不是所有账号、模型或服务商都支持。
启动命令:
claude --permission-mode auto如果自动模式不可用,通常说明当前账号、模型、服务商或管理员设置不满足要求。
十、Dont Ask 模式
dontAsk 模式可以理解为白名单模式。
它不会弹窗询问你是否允许,而是只执行预先允许的工具。凡是没有提前允许的操作,都会直接拒绝。
启动命令:
claude --permission-mode dontAsk这个模式更适合受限制的脚本、CI 或自动化环境,日常学习阶段了解即可。
十一、六种模式对比
| 模式 | 核心特点 | 适合场景 |
|---|---|---|
default | 大部分写入、命令、网络操作都需要确认 | 新手学习、敏感项目 |
acceptEdits | 自动接受文件编辑和部分文件系统操作 | 已确认方向的代码修改 |
plan | 先调研和制定计划,不直接改源码 | 复杂任务、方案讨论 |
bypassPermissions | 跳过几乎所有权限确认 | 隔离环境、高信任任务 |
auto | 自动执行,但有后台安全检查 | 长任务、减少权限疲劳 |
dontAsk | 只执行预先允许的工具,其余直接拒绝 | CI、脚本、受限环境 |
十二、选择建议
如果你刚开始学习,建议先用普通模式。
这样能帮助你理解 Claude Code 会在什么时候读取文件、什么时候编辑文件、什么时候执行命令。
熟悉之后,可以慢慢转向自动编辑模式,减少重复确认。
计划模式适合正式开发前使用。先确认方案,再开始实现,能减少返工。
绕过权限模式虽然很顺畅,但风险也更高。除非你知道自己在做什么,并且当前环境已经隔离,否则不要轻易使用。
十三、设置快捷启动命令
如果你经常使用某种启动方式,可以给它配置一个更短的命令。
1. 配置为 YOLO 模式
macOS
echo 'alias cc="claude --dangerously-skip-permissions"' >> ~/.zshrc
source ~/.zshrcWindows PowerShell
if (!(Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force | Out-Null }; Add-Content -Path $PROFILE -Value 'function cc { claude --dangerously-skip-permissions }'; . $PROFILE配置完成后输入:
cc就会快速启动 YOLO 模式。
2. 配置为普通模式
适合你只想把 claude 简化成 cc,但仍然保留默认权限确认流程的情况。
macOS
echo 'alias cc="claude"' >> ~/.zshrc
source ~/.zshrcWindows PowerShell
if (!(Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force | Out-Null }; Add-Content -Path $PROFILE -Value 'function cc { claude }'; . $PROFILE配置完成后输入:
cc就会以普通模式启动 Claude Code。
