settings.jsonにフックを登録する際、指定スクリプトファイルが実際に存在するかを事前に確認する必要がある。PreToolUseフックに `~/.claude/scripts/hooks/dangerous-command-guard.js` を設定していたが、ファイルが消失していたためNode.jsモジュールロードエラーが発生した。設定ファイル変更時は `ls` や `test -f` でパスの実在を検証してからsettings.jsonを更新する。
## ポイント
- settings.jsonのhooksセクションにスクリプトパスを書く前に `test -f
- ファイルが消失・移動した場合、Claude Code起動時にNode.jsロードエラーが発生しフックが機能しなくなる
- hookスクリプトを削除・リネームする際はsettings.jsonの参照も同時に更新する
## 関連ページ
[[MCP vs CLI 選択基準]] [[PM2 dangling process detection]]
## 関連概念(未作成)
`hookスクリプト存在確認チェックリスト` `settings.json変更時の事前検証フロー` `Claude Codeフック設定ベストプラクティス`