Claude Code実践ガイド

Claude Codeのhooksとは|操作の瞬間に自動実行させる

CLAUDE.mdやSkillsは、AIが「読む」仕組みです。読んだうえで判断するので、まれに守られません。hooksはそこが根本的に違い、特定の操作が起きた瞬間に、決めたコマンドを機械的に実行します。AIの判断を経由しないため、「必ず守らせたいこと」を確実に守らせられます。この違いを理解すると、設定の設計に迷わなくなります。

このサイトは Anthropic や Claude の公式サイトではありません。Claudeの基本的な使い方、ChatGPTとの違い、文章作成・長文整理・仕事での活用を初心者向けに整理する非公式ガイドです。機能・料金・提供状況は変更される可能性があるため、重要な判断ではAnthropic公式情報も確認してください。

CLAUDE.md・Skillsとの決定的な違い

仕組み性質守られるか
CLAUDE.md毎回読ませる申し送り事項AIが読んで判断する。ほぼ守られるが絶対ではない
Skills作業ごとの手順書同上。該当作業のときに参照される
hooks操作に紐づく自動実行AIの判断を経由しない。必ず実行される

設計の基準は1行で言えます。「守ってほしい」はCLAUDE.md、「守らせる」はhooks。破られると困るルールだけをhooksに昇格させれば、設定が肥大しません。

設定できるタイミング

hooksは「いつ発動するか」を選んで設定します。代表的なものを挙げます。

  • ツールを使う前──ファイル編集やコマンド実行の直前。ここで止めることもできます
  • ツールを使った後──編集が終わった直後。整形やチェックの実行に使います
  • 作業が一区切りした時──AIが応答を終えたタイミング。通知やログ記録に
  • 会話の開始時──セッションを始めたとき。環境の準備に

「使う前」で止められるのが重要な点です。単に後始末をするだけでなく、やってほしくない操作を実際にブロックできます。

実際に効く設定例

  1. 編集のたびに整形ツールを走らせる──最も定番です。「整形してね」と毎回言う必要がなくなり、コードのスタイルが常に揃います
  2. 編集のたびに構文チェックを走らせる──壊れた状態で次の作業へ進むのを防げます。当サイトの運用でも、書き込みのたびにHTMLの構文チェックを自動実行しています
  3. 危険なコマンドをブロックする──本番環境への操作、削除系のコマンド、特定ディレクトリへの書き込みなどを検査して止めます
  4. 秘密情報の混入を止める──コミット前に認証情報が含まれていないか検査する。「気をつける」ではなく機械的に止める形にできます(GitHub連携での注意
  5. 作業完了を通知する──長時間の作業を任せて別のことをしているとき、終了を知らせます

設定の書き方は、Claude Code自身に任せられる

hooksは設定ファイル(settings.json)に記述しますが、書式を覚える必要はありません。設定作業そのものを頼めます。

実際に使う頼み方はこの程度です。

  • 「ファイルを保存するたびに整形コマンドを実行するhookを設定して」
  • 「本番用の設定ファイルを書き換えようとしたら止まるようにして」
  • 「今どんなhookが設定されているか説明して」

設定した後は、実際に動くか一度試してください。意図と違うタイミングで発動したり、逆に発動しなかったりすることがあります。「わざと該当する操作をして、発動を確認する」までを1セットにするのが安全です。

hooksを設計するときの注意

  • 重い処理を毎回走らせない──編集のたびに時間のかかるテストを全部実行すると、作業のテンポが致命的に落ちます。軽い検査だけをhooksに置き、重いものは区切りで手動実行する設計にしてください
  • ブロックする条件は具体的に──「危険そうなら止める」のような曖昧な条件は書けません。対象のパスやコマンドを具体的に指定します
  • チームで共有するときは合意を取る──設定をリポジトリで共有すると全員に効きます。知らないうちに自分の操作が止められる状態は摩擦のもとです
  • hooksを万能の安全装置と考えない──設定した条件の範囲でしか止まりません。gitで戻せる状態を保つこと、大きな変更ではプランモードで計画を確認することは、引き続き必要です

FAQ

hooksとSkillsはどちらを先に覚えるべきですか?

Skillsが先です。hooksは「守られなくて困った経験」ができてから設定する方が、必要な条件が具体的に決まります。最初に凝った設定を作っても、たいてい使われません。

設定を間違えると作業できなくなりますか?

ブロック条件を広く書きすぎると、正当な操作まで止まります。その場合は設定ファイルを直せば元に戻ります。心配なら、まず通知やログだけのhookから始めてください。

チーム全員に同じhooksを適用できますか?

設定をリポジトリで共有すれば適用されます。ただし全員の作業に影響するので、導入前に合意を取ることをおすすめします。

チャット版のClaudeにもhooksはありますか?

ありません。ファイル操作やコマンド実行を伴うClaude Code固有の仕組みです。