Claude Code の git push がまた壊れた:sandbox と credential helper のサブプロセス問題
TL;DR — Claude Code の sandbox が GNOME keyring への D-Bus アクセスをブロックするため
git pushが失敗する。gh auth login --insecure-storageでトークンをファイルに保存すれば回避したがこれでいいのか若干不安。
そしてまた再現。今回はrtk 導入の記事をプッシュしようとしたら同じ目にあったよ。
またかよ、おい…
とりあえず Claude さんと一緒に解決したけど、これでいいのか正直わからん。
というか、公式で sandbox 関連の特集記事とか出してくれないかな。
以下、Claude さんの解説と俺の感想です。
TL;DR
| 内容 | |
|---|---|
| 根本原因 | gh auth git-credential(git push のサブプロセス)が GNOME keyring に D-Bus 経由でアクセスできない |
| なぜ | sandbox が Unix ソケットをブロックしている |
excludedCommands: ["gh *"] が効かない理由 | Claude Code が直接呼ぶコマンドにしか効かず、サブプロセスには届かない |
| 回避策 | gh auth login --insecure-storage でトークンをファイルに保存 |
何が起きたか
git push origin main を実行すると以下で失敗する。
fatal: could not read Username for 'https://github.com': No such device or address
まず excludedCommands に "gh *" を追加してみたが効果なし。