第一次使用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” ,给了老司机用。

我也把这个内容做成立非常直观的网页版:

image-20260523225443019

网址:

https://doc.tonyhub.xyz/permissionmodes
 

小尾巴==========================
公众号:托尼不是塔克
交流群
知识星球
==============================

 



发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注