HOME / ブログ / AIサービス

AIサービス

Claude Codeの「フック」とは?決まった処理を自動で挟むしくみ

「Claude Codeの『フック』って、結局何をするもの?」

公式ドキュメントを見ると「hooks」という機能が出てきますが、説明を読んでもコマンドの話が中心で、「自分の仕事にとって何がうれしいのか」が分かりにくいところがあります。

この記事では、フックが何のための機能なのか、どんな場面で役に立つのかを、公式情報にもとづいて整理しました。

先に結論です。

  • フックは、Claude Codeの作業の決まったタイミングで、一定の処理を自動で挟めるしくみです
  • 「AIがそのつど判断する」のではなく、「この場面ではこうする」をあらかじめ決めておけるのが特徴です
  • 通知を受け取る、重要なファイルを誤って編集されないよう守る、変更履歴を記録するといった使い方ができます
  • 具体的な設定は技術的な作業になるため、やりたいことが決まっていれば当社でも代行しています

フックとは何か

Claude Code公式ドキュメントによると、フックとは、Claude Codeの作業の中の特定のタイミングで自動的に実行される、あらかじめ決めておいた処理のことです。処理の内容は、コマンドの実行や、外部サービスへの連携、Claudeモデル自身による判断など、いくつかの種類があります。

ポイントは、「AIの判断に任せる部分」と「決まった通りに動く部分」を分けられることです。公式ドキュメントでは、これを「決定的な制御(deterministic control)」と表現しています。Claudeが気づいて対応してくれるのを期待するのではなく、「このタイミングになったら、この処理を行う」という形にできる、というのがフックの役割です。

たとえば、人に仕事を頼むときも、「大事な作業の前には上司に一声かけてから進める」「作業が終わったら記録を残す」といったルールを決めておくことがあります。フックは、それと似たルールをClaude Codeの作業の流れに組み込む機能、というイメージです。

Claude Codeのフックのイメージ図。作業の開始・ファイル編集・終了といった決まったタイミングで、通知・ファイル保護・記録といった処理が自動的に挟まれる様子

どんなタイミングで動くのか

公式ドキュメントでは、フックが発火するタイミング(イベント)として、たとえば次のようなものが紹介されています。

  • セッションが始まったとき、終わったとき
  • Claudeがファイルの編集やコマンドの実行など、何らかの作業(ツールの呼び出し)を行う前・行った後
  • Claude Codeが「入力待ちです」といった通知を出すとき
  • Claudeの応答が完了したとき

それぞれのタイミングに、「どんな条件のときに」「何を実行するか」を設定しておきます。設定は、Claude Codeの設定ファイル(JSON形式)に書く形になっており、自分のパソコン全体に適用する設定、個別のプロジェクトだけに適用する設定、会社として全社員に適用する設定(管理者が設定)など、適用する範囲も選べます。

仕事での活用イメージ

公式ガイドで紹介されている例を、仕事に置き換えやすい形で紹介します。

  • 通知を受け取る:Claude Codeが入力待ちの状態になったら、パソコンにデスクトップ通知を出す。画面を開いたままずっと待っている必要がなくなります。
  • 重要なファイルを自動的に保護する:設定ファイルや管理用の情報が入ったファイルなど、誤って編集・削除されると困るファイルを指定しておき、そこへの変更が実行される前に自動でブロックする。ブロックされた理由はClaudeにも伝わるため、別の進め方を試してもらえます。
  • 作業内容を記録する:設定やファイルの変更が発生したタイミングで、その内容を自動的にログに記録する。あとから「いつ、何が変わったか」を確認しやすくなります。
  • 作業後に決まった処理を挟む:ファイルの編集・作成が終わったら、決まった整形処理を自動でかけるなど、「毎回同じ後処理が必要な作業」を自動化する。

このように、フックは「AIに任せる部分」と「守ってほしいルール」を分けて運用したい場面で役立つ機能です。単純な条件判定だけでなく、判断に幅がある場面向けに、Claudeモデル自身に評価させる仕組みも用意されていますが、これは比較的専門的な使い方になります。

以下の記事では、Claude Codeを使い始める前に決めておきたいことを紹介しています。フックも、「どこまで任せ、どこは人の決めたルールを通すか」を事前に決めておくという考え方の延長にある機能です。

外部サービスとの連携にも使える

フックの実行内容には、パソコン上のコマンドだけでなく、外部のサービスへの連携(あらかじめつないでおいたツールの呼び出し)も指定できます。外部サービスとの連携のしくみそのものについては、以下の記事で「MCP」という別の機能として詳しく紹介しています。フックとMCPは組み合わせて使うこともできる、別々の機能です。

注意しておきたい点

設定には技術的な知識が必要

フックの設定は、JSON形式のファイルを編集する作業になります。「何かのファイルを保護したい」「通知を受け取りたい」といったやりたいことが決まっていれば難易度はそれほど高くありませんが、設定ファイルを直接編集する必要があるため、プログラミングに慣れていない方が一人で行うのは難しいところがあります。

重要ファイルの保護は万能ではない

フックで重要なファイルへの変更をブロックする設定自体は可能ですが、設定の内容に誤りがあれば意図したとおりに動きません。セキュリティ目的で使う場合は、設定後に実際にブロックされるかどうかをあらかじめ確認しておきたいところです。Claude Code全体のセキュリティ・データの扱いについては、以下の記事で整理しています。

よくある疑問

フックは設定しないといけませんか?

いいえ、必須の機能ではありません。Claude Codeは、フックを設定しなくても通常どおり使えます。「毎回同じ確認や後処理を手作業で行っていて面倒」「ここだけはルールを徹底したい」という場面が出てきたときに検討する機能、という位置づけです。

どんな会社に向いている機能ですか?

Claude Codeをある程度使い始めていて、「この作業は毎回同じやり方で進めてほしい」というルールが見えてきた事業者に向いています。使い始めたばかりの段階では、まずは基本的な使い方に慣れることを優先し、フックは必要になったタイミングで検討すれば十分です。

設定を任せたいのですが

当社では、Claude Codeの説明から導入までをお手伝いしています。「この作業は毎回同じやり方で進めたい」というご相談にも対応していますので、やりたいことを伝えていただければ、設定などの細かい作業は当社で行います。料金は、ヒアリングのうえ個別にお見積りします。

まとめ

  • フックは、Claude Codeの作業の決まったタイミングで、一定の処理を自動で挟めるしくみ
  • 「AIがそのつど判断する」のではなく、「この場面ではこうする」をあらかじめ決めておける
  • 通知・重要ファイルの保護・変更履歴の記録など、仕事の運用ルールをAIの作業に組み込みたい場面で役立つ
  • 設定にはJSON形式のファイル編集が必要で、技術的な知識が求められる

「この作業は毎回同じやり方で進めてほしい」というイメージがあれば、設定できるかどうかも含めてご相談いただけます。

AI化について相談する

無料で相談する