第一次使用Claude Code的所有人都会遇到“授权提示” !
一直弹窗很烦,很可能你以为开始了工作了,其实它还在等你授权。
你想把它关了,又不知道怎么关,或者害怕没控制好权限会出什么问题。
我也是懒得研究一直用acceptEdits模式!
最近,我想给JClaude和JCode添加一个“全自动” 模式,所以专门 研究了一下。

下面分享一下我整理好的资料!
1、六种权限我模式
不查不知道,一查吓一跳,原来有这么多种模式。
根据Claude官方文档中的描述,目前有六种模式。
设置方式如下:
claude --permission-mode default
claude --permission-mode acceptEdits
claude --permission-mode plan
claude --permission-mode auto
claude --permission-mode dontAsk
claude --permission-mode bypassPermissions
启动的时候通过参数传递,会覆盖 settings 文件里的 defaultMode!
2、含义和使用场景
我整理了一个表格,通过这个表格可以快速学习不同模式的含义和使用场景。
| 模式 | 含义 | 适合场景 | 风险 |
|---|---|---|---|
default | 标准权限模式 | 日常开发、最稳妥 | 低 |
acceptEdits | 自动接受文件编辑 | 写代码、批量改文件 | 中低 |
plan | 规划模式 | 大重构、复杂任务、先看方案 | 低 |
auto | 自动模式 | 想减少确认,又不想完全放开 | 中 |
dontAsk | 不询问模式 | 非交互、自动化、CI、脚本环境 | 中 |
bypassPermissions | 跳过权限检查 | 容器、沙盒、临时测试环境 | 高 |
看这个表格应该很清晰了。我也可以做一个更加清晰的图片!
标准权限模式:
Claude Code 按默认规则工作,遇到需要授权的编辑、命令、工具调用会询问你。
自动接受文件编辑:
也就是 Claude 改文件时更少打断你,但执行命令、危险操作仍可能需要确认。
规划模式:
主要让 Claude 先分析和制定计划,默认偏只读,不直接改代码。
自动模式:
由 Claude Code 的权限分类器判断哪些工具调用可以自动放行,哪些要拦截或继续询问。它比 bypassPermissions 安全,但比 default 少打断。
不询问模式:
对于没有预先允许的操作,不再弹窗问你,而是直接拒绝。
跳过权限检查:
基本等价于危险跳过模式,会尽量不再询问授权
3、重点解释
default
最保守、最常用。
claude --permission-mode default
它会按默认权限系统运行:该问你的时候问你,问的还是比较多的。适合刚上手的时候用。
acceptEdits
自动接受编辑。
claude --permission-mode acceptEdits
这个模式主要减少“是否允许修改文件”的确认。 但是它不是完全放开权限,执行 Bash、访问敏感文件、运行危险命令时,仍然可能受到权限规则限制。
适合你让它连续改代码、修 bug、重构多个文件。
plan
规划模式。
claude --permission-mode plan
它更像“先别动手,先说方案”。 适合你让 Claude Code 先阅读项目、理解结构、提出修改计划,然后你确认后再切到其他模式执行。
auto
新的自动权限模式。
claude --permission-mode auto
这个可以称为智能模式。
官方工程博客说,auto mode 是用分类器自动处理一部分权限决策,用来减少审批疲劳,同时比直接跳过权限更安全。
简单理解:
default:经常问你
auto:能判断安全的自动放行,风险高的拦截或询问
bypassPermissions:尽量不问,直接放行
另外官方 settings 文档提到:
从 Claude Code v2.1.142 开始,
如果把 `auto` 写在项目级 `.claude/settings.json` 或 `.claude/settings.local.json` 里会被忽略
避免某个仓库自己给自己开启 auto。
要默认启用 auto,应写到用户级 `~/.claude/settings.json`。
dontAsk
不再询问,没被允许就拒绝。
claude --permission-mode dontAsk
这个名字容易误解。它不是“什么都同意”,而是“不要问我”。 所以如果某个工具调用没有被你的权限规则预先允许,它会直接失败/拒绝,而不是弹窗让你点同意。
适合非交互场景,比如:
claude -p "帮我检查项目问题" --permission-mode dontAsk
因为非交互模式下,你不希望它卡在权限确认那里。
bypassPermissions
危险跳过模式。
claude --permission-mode bypassPermissions
它等价于常见的:
claude --dangerously-skip-permissions
也就是跳过权限提示。只建议在 Docker、临时目录、测试仓库、虚拟机这种可丢弃环境里用。
4、永久设置默认模式
写到:
~/.claude/settings.json
例如默认启用 auto:
{
"permissions": {
"defaultMode": "auto"
}
}
默认启用 acceptEdits:
{
"permissions": {
"defaultMode": "acceptEdits"
}
}
5、运行中切换
Claude Code 交互界面里通常可以用:
Shift + Tab
切换权限模式。官方权限模式文档也说明,可以在 CLI 中用 Shift+Tab 循环切换模式。(Claude Code)
6、使用建议
日常开发:
claude --permission-mode auto
大型改动前:
claude --permission-mode plan
想让它少问编辑确认:
claude --permission-mode acceptEdits
自动化/非交互:
claude --permission-mode dontAsk
沙盒环境才用:
claude --permission-mode bypassPermissions
当前上面的建议是对于一般人的建议,非一般的人,建议直接启用最后一种,当然也是最危险的一种!
就我的实践来看,目前的智能一点的模型,很少会主动做危险的操作。而且大部分人,在面对授权询问的时候会无脑选择Yes,All,Aways!
每次要记住这一长串,其实还是有点难度的。
所以我会在Claude Code启动器Jcode和Claude Code桌面版JClaude中通添加这个选项!重点是会添加“bypassPermissions” ,给了老司机用。
我也把这个内容做成立非常直观的网页版:

网址: