
Claude Code Hooks が便利なので、以下にまとめておきます。
Claude Code Hooks とは?
Claude Code Hooks は、Claude Code(CC)に任意のシェルコマンドを紐づけて実行できる仕組み
これは、特定のツールの使用前後、または通知・終了などのイベントタイミングで、自動的にコマンドを走らせることができる
CLAUDE.md に書いてた不安定な指示をやめて、フックというものを使って確実に実行させようやってことです
LLM に処理を任せるだけでなく、「ファイル編集後に音を鳴らす」「ログを残す」「外部ツールを実行する」など、人間の手動操作を減らす手段ってことですな
なぜ便利なのか?
Claude Code はコードの編集や実行、ターミナル操作などを対話的に行える強力なエージェントだが、「確実に実行してほしいこと」があるとき、プロンプトだけでは不安定なことがある
Hooks を使えば、以下のような「必ずやってほしいこと」を機械的に保証できる
- 処理ログの記録
- フォーマッターの自動実行
- 編集完了後の通知音
- セキュリティチェック(特定のディレクトリに触れさせない)
- Slackやメールなどへの通知連携
基本の設定手順
- Claude Code のチャット欄で
/hooks
と入力し、Enter PostToolUse
を選択(例:ツール使用後に発火)+ Add new matcher...
→Write|Edit|MultiEdit
と入力+ Add new hook...
→ 任意のコマンドを入力- 保存先を
Local
にして.claude/settings.local.json
に保存
フックイベント:PreToolUse
Claude がツールのパラメータを生成した後、実行前に呼び出されるフック
マッチャー名 | 説明 |
---|---|
Task | エージェントタスクの実行 |
Bash | シェルコマンドの実行 |
Glob | ファイル名パターンの一致確認 |
Grep | ファイル内のテキスト検索 |
Read | ファイルの読み込み |
Edit , MultiEdit | ファイルの編集 |
Write | ファイルへの書き込み |
WebFetch , WebSearch | Webアクセスや検索操作 |
例1:処理完了時刻の記録
Claude がファイルを編集した直後、現在時刻をログとして表示する。これは ctrl + R
の transcript モードでも確認できる
例2:音で知らせる
macOS 標準の通知音である Glass を再生する。ファイル編集後に "キンッ?" という音が鳴ることで、手を止めずに Claude の処理完了が分かる
例3:使用量の確認
Claude Code のセッションごとの使用コストやトークン消費を表示する CLI。いやー、スター伸びましたね!ワイは嬉しいね。これ、Hooks に組み込めば、自動的にコスト意識も高まる
例:ランダムなポエムを表示
これを紹介しておきたい
何か、CLI って気が滅入るときあるやん?そんなときは、これよ

brew install fortune cowsay
をしておけば、処理完了のたびに名言やジョークを牛さんがつぶやくわけ。誰が考えたんやろな
ワイ、正直、Claude Code Hooks より、この牛が気になってしまった。いや、さっき知ったのよ
全部もってかれたね
想像してみ、今から30年後。あらゆるソフトウェアが停止した中、多分これは生き残ってる気がするのよ
荒廃した世界で、一人のレジスタンスが、地下でCLI 叩いたら、唯一これが出てくるの
これ考えた人、どんな気持ちで作ったのかな?
きっと、優しい人だよね
なんか、癒されたよ
設定ファイルの全体例
トラブルシュート
-
コマンドが実行されない?
.claude/settings.local.json
の構文エラーがないか確認/hooks
で GUI 上から設定確認・修正可能
-
afplay
やfortune
が動かない?brew install afplay fortune cowsay
などで事前にインストールを
-
transcript に出力されない?
stderr
ではなくstdout
を使う(echo
など)
応用アイデア
PreToolUse
にセキュリティチェックを挟み、本番ファイルの書き換えをブロックNotification
フックにosascript
で macOS 通知を表示Stop
フックで「続行条件が満たされない限り停止を防ぐ」- 編集対象のファイル名や内容をロギング
- Git 操作との連携(auto-commit など)
Hooks をうまく活用すれば、Claude Code をセミ自動化IDEのように拡張できます。特に「Claude に何をさせているかを可視化したい人」「セキュアな運用をしたい人」には必須機能とも言える
今後も使える hook コマンドやベストプラクティスを見つけ次第、追記していくよ