Claude Code v2.1.270 — 長時間セッションでgitコマンドが権限を求める不具合を修正
Claude Code v2.1.270は、v2.1.269で入り込んだ不具合を1件修正します。長時間動かしたセッションで、読み取り専用のgitコマンドが不意に権限確認を求める不具合が解消されました。
Claude Code v2.1.270は、v2.1.269で入り込んだ不具合(regression)を1件だけ修正するリリースです。長時間動いていたセッションで、git statusやgit logのような読み取り専用のgitコマンドが、Bashツール経由で実行するたびに権限確認を求めるようになっていました。設定変更は不要です。更新するだけで直ります。
v2.1.270で直った不具合
読み取り専用のgitコマンドとは、リポジトリの内容を変更しないgit status・git diff・git log・git showのような操作を指します。Claude Codeは通常、この種のコマンドをBash権限チェックで安全側に分類し、確認なしで実行します。
ところがv2.1.269で、この分類が崩れる不具合が入り込みました。セッションがしばらく動き続けると、読み取り専用のはずのgitコマンドまで権限確認を求めるようになっていたのです。不具合の内部的な原因は公開されていません。分かっているのは、v2.1.269で混入したという事実だけです。
v2.1.270ではこの分類が元に戻り、読み取り専用のgitコマンドは以前と同じく確認なしで実行されます。
影響が出ていたのはどんな使い方か
影響の大きさは、セッションをどれだけ長く動かし続けるかで決まります。
| 利用形態 | 影響度 | 具体的に変わること |
|---|---|---|
| 数時間規模の長時間セッションで開発する人 | 影響度明確な恩恵あり | 具体的に変わることgit status等が再び確認なしで通り、作業が途中で止まらなくなる |
| auto modeで無人運用している人 | 影響度条件次第 | 具体的に変わること分類が崩れた対象コマンドは、バックグラウンドの分類器による確認へ回る |
| セッションを開いてすぐ終える短時間利用 | 影響度ほぼ影響なし | 具体的に変わること分類が崩れる前に作業が終わるため、そもそも遭遇しにくい |
Bash(git status:*)等を明示的な許可ルールとして書いている人 | 影響度ほぼ影響なし | 具体的に変わること個別の許可ルールが優先されるため、既定の分類が崩れても影響を受けにくい |
無人運用でこの不具合に心当たりがある場合は、/permissionsで読み取り専用のgitコマンドを明示的に許可するルールが入っているかを確認できます。
/permissionsネイティブインストールなら、更新はバックグラウンドで適用され、次にClaude Codeを起動したときから有効になります。Homebrewで入れた場合はbrew upgrade claude-code(claude-code@latestのcaskならbrew upgrade claude-code@latest)、WinGetならwinget upgrade Anthropic.ClaudeCodeで更新します。
Bash権限の判定はv2.1.259から確認の増減を往復している
Bashツールの権限チェックは、直近の版でも何度か調整が入っています。
| バージョン | 変更の方向 | 内容 |
|---|---|---|
| v2.1.259 | 変更の方向確認が増える方向 | 内容Read()拒否ルールをBashの引数にも適用する変更が入り、auto modeでもcd … && grepのようなコマンドが確認を求めるようになった |
| v2.1.260 | 変更の方向確認が減る方向 | 内容v2.1.259の変更を撤回。同じ版で、zshのREPORTTIME等を使ったコマンド置換の隠蔽は逆に確認を求める側へ修正 |
| v2.1.261〜v2.1.268 | 変更の方向拒否ルールの抜け穴を修正 | 内容シンボリックリンク越しのBash拒否ルールの適用漏れと、env -C・eval等解析できないコマンドでのRead/Edit拒否ルールの抜け穴を修正(v2.1.268) |
| v2.1.269 | 変更の方向確認が増える方向 | 内容長時間セッションで読み取り専用のgitコマンドが確認を求めるようになる、この不具合が混入 |
| v2.1.270 | 変更の方向確認が減る方向 | 内容v2.1.269のこの不具合を修正。読み取り専用のgitコマンドは再び確認なしで実行される |
v2.1.259とv2.1.269は、「安全なはずの読み取り操作が確認を求めてしまう」という同じ失敗の形を繰り返しています。どちらも次のリリースで撤回・修正されました。原因のコードパスは別ですが、症状は同じです。
Bash権限チェックはなぜ読み取り専用のコマンドまで確認を求めるのか
読み取り専用かどうかの判定は、コマンド文字列を解析して確認が要るかどうかを見分けるロジックが担っています。この分類は、コマンドの書き方の幅が広いほど難しくなります。git statusと一口に言っても、パイプやリダイレクト、複合コマンドの一部として書かれることがあります。この判定ロジックは、書き方の違う同じコマンドをその都度見分け直しています。
上の表に挙げたバージョンでは、確認が増えすぎたリリースと、それを戻すリリースが交互に並んでいます。読み取り専用コマンドの誤判定は、今回で最後とは限りません。長時間セッションやauto modeでこの種の確認プロンプトが不自然に増えたと感じたら、まずバージョンを最新に上げたうえで再現するかを確かめるのが早道です。分類ロジックの詳しい変遷はClaude Code権限モデルの変遷で、複合コマンドの評価ルールはClaude CodeのBash権限ルールは複合コマンドをどう評価するかで扱っています。
まとめ
v2.1.270は1件のバグ修正だけのリリースです。長時間動かしたセッションで、読み取り専用のgitコマンドが不意に権限確認を求めていたこの不具合(v2.1.269で混入)が直りました。設定変更は不要です。数時間規模のセッションを日常的に使う人、auto modeで無人運用している人には効く修正です。数分で終える短時間利用では、そもそも遭遇しにくい不具合でした。
関連ガイド
このバージョン単体の位置づけや前後の版とのつながりは、Claude Codeとは — できること・料金・使い方でまとめて確認できます。
関連する記事
Claude Code をもっと見る →Claude Code(クロードコード)とは — できること・料金・使い方・CLIから8つの拡張機構まで
Claude Code v2.1.269 — plugin eval追加とVS Code拡張の機能拡充
Claude Code v2.1.274 — メモリー危機時の警告表示とエラーループの自動修復を追加
Claude Code v2.1.268 — シンボリックリンク経由の権限すり抜けを修正、ゲートウェイの料金設定を配布
Claude Code v2.1.260 — diffパネル追加、Bash権限ルールの拡大を撤回
Claude Code v2.1.259 — MCPサーバーを組織に配る新設定と管理設定が壊れたときの起動拒否