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...

相关推荐
大郭鹏宇1 分钟前
基于 LangGraph 构建智能分诊系统(一):项目概述与环境搭建
大数据·人工智能·microsoft·langchain
小林ixn6 分钟前
大模型的“高考成绩单”:读懂Benchmark,选对真·生产力模型
人工智能·llm·测试
冬奇Lab11 分钟前
AI 评测系列(04):RAG 评测——RAGAS 四指标实战与一个反直觉发现
人工智能·llm·agent
三声三视24 分钟前
uni-app 鸿蒙端传参变成 [object Object]?顺着源码追到 ArkTS router 底层才搞明白
人工智能·ai·uni-app·aigc·ai编程·harmonyos
fthux1 小时前
“装闭”,让装修套路“装”不下去
人工智能·ai·开源·github·open source
andxe1 小时前
安科士 AndXe 技术博客:400G QSFP112 SR4 光模块|AI 算力与超算短距互联最优方案
网络·人工智能·光模块·光通信
计算机魔术师2 小时前
Karpathy:用语音与LLM长谈可提升理解效率
人工智能·ai编程
甲维斯3 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能
周末程序猿3 小时前
图解 120 个大语言模型(LLM)核心概念(61-90)
人工智能
科技圈快迅3 小时前
游戏投影仪和普通投影仪区别是什么?2026游戏投影仪测评
人工智能