Claude Code的六种种授权模式!安全和效率控制

第一次使用Claude Code的所有人都会遇到"授权提示" !

一直弹窗很烦,很可能你以为开始了工作了,其实它还在等你授权。

你想把它关了,又不知道怎么关,或者害怕没控制好权限会出什么问题。

我也是懒得研究一直用acceptEdits模式!

最近,我想给JClaude和JCode添加一个"全自动" 模式,所以专门 研究了一下。

下面分享一下我整理好的资料!

1、六种权限我模式

不查不知道,一查吓一跳,原来有这么多种模式。

根据Claude官方文档中的描述,目前有六种模式。

设置方式如下:

scss 复制代码
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

最保守、最常用。

scss 复制代码
claude --permission-mode default

它会按默认权限系统运行:该问你的时候问你,问的还是比较多的。适合刚上手的时候用。

acceptEdits

自动接受编辑。

css 复制代码
claude --permission-mode acceptEdits

这个模式主要减少"是否允许修改文件"的确认。 但是它不是完全放开权限,执行 Bash、访问敏感文件、运行危险命令时,仍然可能受到权限规则限制。

适合你让它连续改代码、修 bug、重构多个文件。

plan

规划模式。

css 复制代码
claude --permission-mode plan

它更像"先别动手,先说方案"。 适合你让 Claude Code 先阅读项目、理解结构、提出修改计划,然后你确认后再切到其他模式执行。

auto

新的自动权限模式。

scss 复制代码
claude --permission-mode auto

这个可以称为智能模式。

官方工程博客说,auto mode 是用分类器自动处理一部分权限决策,用来减少审批疲劳,同时比直接跳过权限更安全。

简单理解:

arduino 复制代码
default:经常问你
auto:能判断安全的自动放行,风险高的拦截或询问
bypassPermissions:尽量不问,直接放行

另外官方 settings 文档提到:

go 复制代码
从 Claude Code v2.1.142 开始,
​
如果把 `auto` 写在项目级 `.claude/settings.json` 或 `.claude/settings.local.json` 里会被忽略
​
避免某个仓库自己给自己开启 auto。
​
要默认启用 auto,应写到用户级 `~/.claude/settings.json`。

dontAsk

不再询问,没被允许就拒绝。

css 复制代码
claude --permission-mode dontAsk

这个名字容易误解。它不是"什么都同意",而是"不要问我"。 所以如果某个工具调用没有被你的权限规则预先允许,它会直接失败/拒绝,而不是弹窗让你点同意。

适合非交互场景,比如:

css 复制代码
claude -p "帮我检查项目问题" --permission-mode dontAsk

因为非交互模式下,你不希望它卡在权限确认那里。

bypassPermissions

危险跳过模式。

css 复制代码
claude --permission-mode bypassPermissions

它等价于常见的:

css 复制代码
claude --dangerously-skip-permissions

也就是跳过权限提示。只建议在 Docker、临时目录、测试仓库、虚拟机这种可丢弃环境里用。

4、永久设置默认模式

写到:

javascript 复制代码
~/.claude/settings.json

例如默认启用 auto

json 复制代码
{
  "permissions": {
    "defaultMode": "auto"
  }
}

默认启用 acceptEdits

json 复制代码
{
  "permissions": {
    "defaultMode": "acceptEdits"
  }
}

5、运行中切换

Claude Code 交互界面里通常可以用:

复制代码
Shift + Tab

切换权限模式。官方权限模式文档也说明,可以在 CLI 中用 Shift+Tab 循环切换模式。(Claude Code)

6、使用建议

日常开发:

scss 复制代码
claude --permission-mode auto

大型改动前:

css 复制代码
claude --permission-mode plan

想让它少问编辑确认:

css 复制代码
claude --permission-mode acceptEdits

自动化/非交互:

css 复制代码
claude --permission-mode dontAsk

沙盒环境才用:

css 复制代码
claude --permission-mode bypassPermissions

当前上面的建议是对于一般人的建议,非一般的人,建议直接启用最后一种,当然也是最危险的一种!

就我的实践来看,目前的智能一点的模型,很少会主动做危险的操作。而且大部分人,在面对授权询问的时候会无脑选择Yes,All,Aways!

每次要记住这一长串,其实还是有点难度的。

所以我会在Claude Code启动器Jcode和Claude Code桌面版JClaude中通添加这个选项!重点是会添加"bypassPermissions" ,给了老司机用。

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

网址:

doc.tonyhub.xyz/permissionm...

相关推荐
canonical_entropy21 小时前
超越Harness Engineering: AGE 应用开发模板介绍
aigc·ai编程·前端工程化
curd_boy21 小时前
【AI】生产级 Graph RAG 落地架构
人工智能·架构
夏天想21 小时前
人类将从“执行者“变为“总导演”,学习Ai知识
人工智能·学习
yangshicong21 小时前
第11章:结构化输出与数据提取 —— 让 AI 直接返回你想要的数据格式
数据库·人工智能·redis·python·langchain·ai编程
@PHARAOH21 小时前
WHAT - AI 领域的 hermes 和 harnes
人工智能
kevin 121 小时前
财务报销智能审核怎么落地?DocFlux 智能分类抽取,全过程溯源
人工智能·ocr
言之。1 天前
【Python】免费的中文 AI 配音方案
开发语言·人工智能·python
zhangxingchao1 天前
AI应用开发七:可以替代 RAG 的技术
前端·人工智能·后端
黎阳之光1 天前
黎阳之光:以视频孪生重构智能监盘,为燃机打造新一代智慧电厂大脑
大数据·人工智能·算法·安全·数字孪生