Claude Codeのdenyはgitコマンドをすり抜ける——hooksで塞いだ話
この記事で分かること
Claude Codeのdeny設定がgitコマンドでは無視される問題を、git hooksで強制的に塞ぐ方法が得られる。具体的には、pre-commitフックにdenyチェックを追加する手順と、hooksを使わない場合にdenyがすり抜ける条件が説明される。
詳細要約
Claude Codeのdeny機能は、gitフックを無視して実行されるため、通常のgitコマンドでは防げない操作を許可してしまう。対策として、Claude Code専用のフック設定を追加する必要がある。具体的には、`.claude/settings.json`にdenyルールを記述する際、gitフックと併用するのではなく、Claude Codeの設定ファイル内で直接禁止コマンドを指定する。また、フックをすり抜ける挙動を確認したら、`claude.json`の`deny`セクションに該当コマンドを追加し、Claude Code側で強制遮断する設定を優先する。