你在 Claude Code 桌面版的权限提示上按下回车,以为只批准了一条命令,结果这条命令变成了仓库的永久规则。自应用 2.37337.1 版(2026年10月13日)起,提示框的主按钮是 Always allow,而 Allow once 被移到了旁边的下拉箭头菜单里。
本文说明这条规则保存在哪里、如何删除误存的规则,以及如何防止高风险命令再次因为一次下意识的点击而被放行。界面变化记录在官方仓库的 issue #102136 中,macOS、Windows 和 Linux 用户都已确认;配置部分已于2026年10月19日对照官方权限文档核对。
Claude Code 桌面版的权限提示改了什么?
那个最大的按钮,也就是下意识点击和按回车时触发的那个,现在会保存一条永久规则。只想批准这一次,需要打开菜单或使用另一个快捷键。
| 选项 | 位置 | macOS 快捷键 | 作用 |
|---|---|---|---|
| Always allow | 主按钮 | ⇧⌘↩ | 保存一条 allow 规则,对该仓库以后的会话都生效 |
| Allow once | 下拉箭头菜单 | ⌘↩ | 只批准这一次,不写入任何文件 |
| Allow and switch to Auto | 下拉箭头菜单 | 暂无报告 | 批准并把会话切换到 Auto 模式 |
以上快捷键来自 issue 中两条独立的报告,均在 macOS 上。截至2026年10月19日,还没有人报告 Windows 或 Linux 上对应的快捷键。同样的反转此前已在 issue #48550 中报告过,该 issue 因长期无活动被关闭,并未修复。

Claude Code 把 "Always allow" 规则保存在哪里?
保存在 git 仓库根目录的 .claude/settings.local.json 中,位于 permissions.allow 下。文档说明,对 Bash 命令或 WebFetch 域名的永久批准会写入这个文件,并对该仓库内任何位置的后续会话生效,包括 worktree。
也有例外:在 git 仓库之外、仓库根目录就是你的主目录,或者在 Windows 上,这个文件会留在会话启动时所在的文件夹,与 .claude/settings.json 放在一起。根据桌面版文档,桌面应用读取的配置文件与 CLI 相同。
一位用户在 issue 中报告,在一次会话里,主按钮写入了下面两条规则:
{
"permissions": {
"allow": [
"Bash(gh api *)",
"Bash(python3 -I -c ' *)"
]
}
}
第一条会放行所有 gh api 调用,包括会写入 GitHub 的调用。所以每次使用桌面版之后,都值得检查一下这个文件。
如何查看并删除误存的规则?
打开文件,找出不是你主动选择的规则。在仓库根目录执行:
cat .claude/settings.local.json
如果装了 jq,可以只列出被放行的规则:
jq '.permissions.allow' .claude/settings.local.json
删掉不想保留的行,保存文件即可。如果更喜欢图形界面,在同一个仓库里用终端打开 Claude Code,然后运行:
/permissions
对话框会列出所有规则以及每条规则来自哪个文件,你可以删除任意一条。文档说明,即使代理正在工作,修改也会从下一次工具调用开始生效。
.claude/settings.local.json 不会进入你的提交:Claude Code 第一次创建该文件时,会把它加入 git 的全局排除列表。因此错误的规则不会泄露给团队,但也不会出现在 git diff 里。只有打开文件才能发现。
如何防止高风险命令再次被放行?
为那些你始终想手动批准的命令创建 ask 规则。文档规定的评估顺序是 deny、ask、allow:只要有一条 ask 规则匹配该命令,即使存在针对它的 allow 规则,不论在哪个文件里,提示都会重新出现。
把规则写进用户级文件 ~/.claude/settings.json(Windows 上是 %USERPROFILE%\.claude\settings.json),对所有项目生效:
{
"permissions": {
"ask": [
"Bash(python3 *)",
"Bash(gh api *)",
"Bash(git push *)",
"Bash(psql *)"
]
}
}
如果文件已经存在,把 ask 键合并进已有的 permissions 块,不要删掉其他内容。把列表换成你日常工作中会触及数据库、网络或生产环境的命令。
对于绝不应该运行的命令,用 deny 代替 ask。deny 优先于一切,allow 规则无法在其中开例外。
确认保护已生效
在桌面版里让代理运行列表中的一条命令,例如 python3 -c "print(1)"。即使 .claude/settings.local.json 里仍有针对 python3 的 allow 规则,权限提示也必须出现。如果没有出现,在终端里打开 /permissions,检查 ask 规则是否已加载。
给所有命令都加 ask 规则不是太过了吗?
确实太过了,issue 里也有评论正好指出这一点:在 ask 下列出几百条命令无法扩展。ask 规则只用于那份可能造成破坏的短名单。其余情况,有效的习惯是使用 Allow once 快捷键(macOS 上为 ⌘↩),并在一天结束时看一眼 .claude/settings.local.json。
Anthropic 修复了吗?
截至2026年10月19日还没有。issue #102136 仍处于打开状态,用户要求把 Allow once 恢复为主按钮,或提供一个选择默认项的设置。在有版本改变这一点之前,主按钮会继续写入规则。
在终端里,Verboo Code 的命令权限提示第一个选项是 Yes,只批准这一次;"don't ask again" 是单独的选项,规则保存在 .verboo/settings.local.json 中,可在 /permissions 中查看。



