Sandbox

Claude Code の git push が壊れた日:バイナリ解析よりリリースノートを先に読め

Claude Code で git push できなくなった。原因調査の過程を Claude とのやりとりで再現する。結論を先に言うと、リリースノートを最初に見ていれば 5 分で終わった話だった。

TL;DR

根本原因: v2.1.91 で excludedCommands のマッチング挙動が修正された

バージョンexcludedCommands: ["git"] の動作
v2.1.90 以前バグで git push origin main にもマッチ → sandbox 完全 bypass
v2.1.91 以降仕様通りに修正。"git" は bare git のみにマッチ → sandbox 適用 → 認証情報へのアクセスがブロックされ失敗

修正した設定:

// Before
"excludedCommands": ["git"]

// After
"excludedCommands": ["git *"]

今回は俺と Claude さんの会話を再現してます。一部省略。

Scene 1:動くはずのものが動かない

俺:この環境で git push できる?ターミナル(CLI)だと
  サンドボックスで阻まれてプッシュできないって言われたんだけど。

Claude はまず調査に入った。リモートを確認し、dry-run を試みる。

fatal: could not read Username for 'https://github.com': No such device or address

失敗。