Claude Code 2.1.270 只读 git 命令误要权限 怎么修

Claude Code 2.1.270(2026-09-12)修复 2.1.269 回归:Bash 里只读 git 命令在长跑 session 后 unexpectedly 触发 permission。本文写症状、升级与临时绕过。

Claude Code 2.1.270 只读 git 命令误要权限 怎么修

Claude Code 2.1.269(2026-09-11)引入一条回归:session 跑久之后,Bash 里本应是只读的 git 命令(如 git statusgit loggit diff)开始反复弹出 permission 确认,打断 Agent 流。2.1.270(2026-09-12)在 CHANGELOG 里明确修复:「Fixed read-only git commands in Bash unexpectedly asking for permission after a session had been running for a while (regression in 2.1.269)」。

作者CodePass 技术编辑

你怎么判断撞的是这条 bug

症状 checklist:

刚开 session 时 git status 不弹窗,1–2 小时后同样命令要 approve。

只读子命令也中招,不是 git push 那种预期拦截。

升级到 2.1.268 时无此问题,269/270 之间出现。

2.1.268 第三方 endpoint HTTP 400 无关;那是 gateway 路由,不是 permission UI。

claude --version 确认 ≥ 2.1.270。npm / 官方安装器均可。

为什么长跑 session 才触发

CHANGELOG 未给 root cause。社区推测与 permission cache / tool allowlist 在长跑后失效或 OAuth refresh 重渲染工具有关(2.1.260+ 曾修 hourly cache miss)。无论机制如何,修复版本是 270,优先升级而非改 rules。

升级路径与 fleet 管理

单开发者:claude update 或重装 @anthropic-ai/claude-code@latest

团队 pin 版本:CI 镜像与 docs 把 floor 从 2.1.268 提到 2.1.270,尤其 9/8–9/11 连发 265 plugin-dir、266 gateway、268 HTTP 400 之后,应用一条 smoke:claude -p "run git status" 在 mock repo 不二次要权限。

Gateway 用户:270 与 268 pricing pass-through 可叠加;仍建议 限额总表 里记录「9 月第二周三连 regression」便于 audit。

临时绕过(无法立刻升级时)

在 permission rules 里显式 allow git statusgit log 等只读模式(注意安全:过宽 git:* 会放开 push)。

长任务拆 session,用 /clear 避免触发长跑边界。

只读 git 改由宿主 shell 跑,Claude 只读输出摘要(牺牲自动化)。

参考资料