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.269(2026-09-11)引入一条回归:session 跑久之后,Bash 里本应是只读的 git 命令(如 git status、git log、git 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)」。
你怎么判断撞的是这条 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 status、git log 等只读模式(注意安全:过宽 git:* 会放开 push)。
长任务拆 session,用 /clear 避免触发长跑边界。
只读 git 改由宿主 shell 跑,Claude 只读输出摘要(牺牲自动化)。