Claude Code: hook に onFailure: "block" を付けて失敗時に通さない
コマンド/HTTP フックが起動失敗・タイムアウト・想定外終了をしたとき、処理を「通過」させずアクションをブロックする設定。安全チェック系 hook 向け。
どんな時に使う?
- PreToolUse などで「危険な操作を止める」hook を置いているが、hook 自体が落ちると許可されてしまうのが怖いとき
- CI 相当のゲートをローカルエージェントにも効かせたいとき
手順
- Claude Code 2.1.295 以降で、command / HTTP フックに
onFailure: "block"を指定できる - 例(概念): 危険コマンド検査の hook がタイムアウトしたら、そのツール呼び出しをブロックする
- 失敗時に黙って通す既定動作が問題になるゲートにだけ付ける
注意点
- hook が不安定だと作業が頻繁に止まる。まず hook の信頼性を上げてから block を付ける
- mod の深いネスト入力の切り捨てなど、ガードが見ていない内容を通してしまう系の修正も同世代の CHANGELOG に含まれる。バージョンを揃える