$ claude

ClaudeCode.Tokyo

Claude Code 専門メディア

Claude Code Hooksの使い方|自動化ワークフロー入門
Tips·更新: 2026-03-16

Claude Code Hooksの使い方|自動化ワークフロー入門

Claude Code Hooksでコード保存時の自動フォーマットやコミット前チェックを設定する方法を初心者向けに解説。

ポスト

この記事のポイント

  • HooksはClaude Codeの動作前後に自動でコマンドを実行する仕組みで、.claude/settings.jsonに設定する
  • PreToolUse・PostToolUse・Notification・Stopの4つのイベントに対応している
  • 自動フォーマット、危険コマンドのブロック、コミット前テスト、Slack通知などの実用レシピがある
  • セキュリティリスクとパフォーマンス影響を考慮し、必要最小限の設定から始めるのが推奨

Hooksとは?

Hooksは、Claude Codeの動作の前後に自動でコマンドを実行する仕組みです。

例えば、「ファイルを保存したら自動でフォーマットする」「コミット前にテストを実行する」といったルールを設定できます。

どこで設定する?

Hooksは .claude/settings.json に設定します。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "npx prettier --write $FILE_PATH"
      }
    ]
  }
}

この例では、Claude Codeがファイルを編集・作成するたびに、自動でPrettierによるフォーマットが実行されます。

主なイベント

| イベント | タイミング | |---|---| | PreToolUse | ツール実行の前 | | PostToolUse | ツール実行の後 | | Notification | 通知の送信時 | | Stop | セッション終了時 |

実用的なレシピ5選

1. ファイル保存時に自動フォーマット

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "npx prettier --write $FILE_PATH"
      }
    ]
  }
}

2. 危険なコマンドをブロック

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "command": "echo $COMMAND | grep -qE 'rm -rf|drop table|format' && echo 'BLOCKED' && exit 1 || exit 0"
      }
    ]
  }
}

rm -rfdrop table などの危険なコマンドを事前にブロックします。

3. コミット前にテスト実行

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash(git commit)",
        "command": "npm test"
      }
    ]
  }
}

4. Slack通知

{
  "hooks": {
    "Stop": [
      {
        "command": "curl -X POST -H 'Content-Type: application/json' -d '{\"text\":\"Claude Codeの作業が完了しました\"}' $SLACK_WEBHOOK_URL"
      }
    ]
  }
}

セッション終了時にSlackに通知を送ります。

5. 変更ファイルの自動lint

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "command": "npx eslint --fix $FILE_PATH"
      }
    ]
  }
}

注意点

セキュリティに気をつける

Hooksでは任意のシェルコマンドが実行されます。信頼できないプロジェクトのHooks設定をそのまま使わないでください。

パフォーマンスへの影響

すべての操作にHooksをつけると、Claude Codeの動作が遅くなることがあります。必要なものだけ設定しましょう。

まとめ

Hooksを使えば、Claude Codeをプロジェクトのワークフローに合わせてカスタマイズできます。まずは「自動フォーマット」から始めて、徐々にレシピを増やしていくのがおすすめです。

よくある質問

Q. Claude Code Hooksとは何ですか?

Hooksは、Claude Codeの動作の前後に自動でシェルコマンドを実行する仕組みです。例えばファイル保存時に自動フォーマットしたり、コミット前にテストを実行したりできます。

Q. Hooksはどこに設定しますか?

.claude/settings.jsonファイルに設定します。PreToolUse(ツール実行前)、PostToolUse(ツール実行後)、Notification(通知時)、Stop(セッション終了時)の4つのイベントに対してコマンドを登録できます。

Q. Hooksにセキュリティ上のリスクはありますか?

はい、Hooksでは任意のシェルコマンドが実行されるため、信頼できないプロジェクトのHooks設定をそのまま使うのは危険です。設定内容を必ず確認してから利用してください。

Q. Hooksを設定するとClaude Codeが遅くなりますか?

すべての操作にHooksを設定するとパフォーマンスに影響が出ることがあります。必要なものだけに絞って設定することが推奨されています。

Q. Hooksのおすすめの始め方は?

まずはPostToolUseイベントでPrettierによる自動フォーマットを設定するのがおすすめです。効果を実感しやすく、設定もシンプルです。慣れたら危険コマンドのブロックやSlack通知などを追加していきましょう。

#Hooks#自動化#ワークフロー
ポスト

関連記事