Hooksとは何か:AI任せにしない自動実行ルール

入門 | 10分 で読める | 2026.06.17

公式ドキュメント

Claude Codeには、特定のタイミングでコマンドを自動実行するHooksがあります。これは「AIにお願いする」指示とは違い、決まった処理を機械的に走らせるための仕組みです。

一言でいうと

Hooksは、Claude Codeの作業前後に決まったコマンドを実行し、フォーマット、検証、危険操作のブロックを自動化する仕組みです。

AIへの指示との違い

種類特徴
CLAUDE.md の指示AIが文脈として読む
チャットでの依頼その場の作業方針
Hooks指定タイミングで機械的に実行

たとえば、「編集後にフォーマットして」とAIに頼んでも、状況によって忘れることがあります。Hooksなら、編集後に決めたコマンドを実行できます。

使いどころ

目的
フォーマット編集後にPrettierやruff format
リント変更後にlintを実行
危険操作の防止特定ファイルへの編集をブロック
テスト確認作業終了時にテスト実行
通知作業完了時に通知

設定イメージ

設定内容は環境やバージョンで変わる可能性があります。考え方としては、タイミングとコマンドを組み合わせます。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "npm run format"
      }
    ]
  }
}

この例では、編集や書き込みのあとにフォーマットを実行するイメージです。

危険操作を止める

Hooksは、特定の操作を止める用途にも使えます。

たとえば、マイグレーションファイルへの直接編集を禁止したい場合、編集前に対象パスを検査するフックを考えます。

AIに「気をつけて」と頼むより、危険操作はHookや権限設定で止める方が安全です。

注意点

Hooksは便利ですが、設定を間違えると開発体験が悪くなります。

注意点内容
遅いコマンド毎回重いテストを走らせると待ち時間が増える
失敗の原因Hookの失敗かコードの失敗か切り分ける
無限に近い再実行自動修正が連鎖しないようにする
環境差チーム全員の環境で動くか確認する

よくある誤解

誤解実際
Hooksは何でも自動化すべき重い処理はタイミングを選びます
CLAUDE.mdと同じHooksはコマンド実行の仕組みです
危険操作も注意書きで十分ブロックできるものは機械的に止めます
失敗したらAIのせいHook設定の問題もあります

まとめ

Hooksは、Claude Codeの作業前後に決まったコマンドを実行する仕組みです。フォーマット、リント、テスト、危険操作ブロックに向いています。AIへの指示だけに頼らず、確実に実行したいルールはHooksや権限設定で扱います。

参考リソース

← 一覧に戻る
PR
PR
PR
PR