読み物
AIに大事なルールを「お願い」で終わらせない
Claude CodeのHook超入門
AIに仕事を任せるとき、こんな不安はないでしょうか。
- 「間違って大切なデータを消さないだろうか」
- 「社内資料を外部へ公開しないだろうか」
- 「注意事項を読み飛ばすことはないだろうか」
Claude Codeには、こうした事故を防ぐための「Hook(フック)」という仕組みがあります。
名前は難しそうですが、考え方は単純です。
Hookとは、AIが危険な操作をしようとした瞬間に働く、安全装置です。
設定はClaude Codeに作ってもらえるため、自分でプログラムを書く必要はありません。
「注意書き」と「安全装置」は違う
Claude Codeには、仕事のルールを書いておくためのCLAUDE.mdやスキルがあります。
たとえば、次のような指示を書けます。
- 本番データを削除しない
- 社内資料を外部へ送らない
- 公開リポジトリを作らない
- 作業後は必ず確認する
これらは非常に大切です。しかし、あくまでAIが読んで判断する「指示」です。
人間にたとえると、職場の壁に貼られた注意書きに近いものです。よく守られますが、 見落としや判断間違いの可能性まではなくせません。
一方、Hookは機械的に働きます。
危険な操作に該当したら、AIの判断とは別に止めます。
「このボタンを押さないでください」と書くのがCLAUDE.mdなら、ボタンの上にカバーを取り付けるのがHookです。
大切なのは、どちらか一方を選ぶことではありません。
- CLAUDE.mdで、仕事の進め方を伝える
- Hookで、取り返しのつかない操作を止める
この二つを組み合わせます。
Hookはどんなときに動くのか
Hookは、Claude Codeが動作する途中の決められたタイミングで働きます。
初心者が最初に覚える必要があるのは、「操作する直前に止められるHookがある」ということだけです。
たとえばClaude Codeが、商品データを削除する操作を始めようとしたとします。
通常なら、そのまま実行へ進む可能性があります。しかしHookが設定されていれば、 実行前に内容を確認し、禁止対象なら止められます。
この「実行直前」の安全装置を、正式にはPreToolUseと呼びます。
名前を覚える必要はありません。Claude Codeへは、次のように頼めば十分です。
危険な操作を、実行する前に強制的に止めるHookを作ってください。
公式ドキュメントでも、PreToolUseは操作の実行前に動き、 条件に応じて中止できる仕組みとして説明されています。 Claude Code Hooks公式資料
Hookが出せる三つの判断
Hookは、対象となる操作を見つけると、主に三つの判断を出します。
1.そのまま通す
安全な操作なので、そのまま実行させます。
2.人に確認する
「この操作を実行してよいですか」と人に確認します。
ただし、この方法は人が画面を見ている運用に向いています。夜間の自動処理など、 人がいない状態では使いにくいため、重大事故につながる操作は「確認」ではなく「禁止」にするほうが安全です。
3.強制的に止める
禁止対象なら、Claude Codeに実行させません。止めた理由もAIへ伝わるため、 AIは別の安全な方法を探せます。
重要な操作を守る場合は、この「強制的に止める」設定を使います。
この禁止は、通常の確認を省略するモードでClaude Codeを動かしている場合でも有効です。 Claude Code Hooksガイド
最初に守るべき三つ
Hookは、何でも禁止すればよいわけではありません。
禁止が多すぎると、普通の仕事まで止まります。その結果、邪魔になった安全装置が外されてしまいます。
最初は、次の三つに絞るのがおすすめです。
1.外部への公開・送信
たとえば、次のような操作です。
- 社内資料を外部のファイル共有サービスへ送る
- 内容を外部の貼り付けサイトへ掲載する
- GitHubに公開状態の保管場所を作る
- 非公開の指定がないまま新しい保管場所を作る
- 秘密情報を外部へ送信する
AIに悪意がなくても、「共有したほうが便利だ」と判断する可能性があります。
しかし、一度外部へ出た情報は、完全に回収できないことがあります。 そのため、公開や外部送信は最初に守るべき対象です。
2.本番データの削除
たとえば、次のような操作です。
- 商品を削除する
- 受注情報を削除する
- 顧客情報を削除する
- 商品画像を削除する
- 本番データベースの内容を消す
- ECや業務システムの削除機能を呼び出す
本番データの削除は、事業への影響が大きい操作です。
「削除」という言葉が資料に書かれているだけで止めるのではなく、 実際に削除操作を実行しようとしたときだけ止める必要があります。
この判断も、自分で考える必要はありません。Claude Codeに、利用中のシステムを調査させて設定してもらいます。
3.設定・スキル・記憶の一括削除
Claude Codeの設定、スキル、記憶、会社の共通知識などは、時間をかけて積み上げた資産です。
個別の不要ファイルを消すことまで禁止すると、日常の整理ができなくなります。 そこで、重要なフォルダ全体をまとめて消す操作だけを止めます。
守る範囲は、会社や利用環境によって異なります。Claude Codeへ調査を依頼し、 重要な保存場所を特定してから決めます。
判断基準は「元に戻せるか」
何をHookで禁止するか迷ったら、次の質問をします。
その操作を間違えたとき、元に戻せるか?
元に戻せないもの
原則として、強制的に止めます。
- 外部への公開
- 機密情報の送信
- 本番データの削除
- 復元できない重要ファイルの削除
手間をかければ戻せるもの
必要に応じて、人への確認や記録を設定します。
- 重要な設定の変更
- 利用する部品やサービスの変更
- 大規模なファイル整理
簡単に戻せるもの
基本的にはHookで止めません。
- 作業中の文章修正
- テストの実行
- 履歴に残る通常の変更
- 一時ファイルの作成
Hookは、AIの行動をすべて制限するためのものではありません。
大事故だけを防ぎ、そのほかの仕事は自由に進めてもらうための仕組みです。
初心者は自分で設定しなくてよい
Hookの設定には、環境に合ったファイルや判定処理が必要です。
初心者が自分で書き換える必要はありません。Claude Codeに、調査・設定・テストまでまとめて依頼します。
最初は、次の文章をそのままClaude Codeへ送ってください。
最初の調査を依頼する文章
このパソコンと現在の作業フォルダで、Claude CodeのHook、権限設定、重要フォルダを調査してください。 まだ設定は変更しないでください。 次の事故を防ぐには、どの操作をHookで止めるべきか提案してください。 1. 社内情報や秘密情報の外部送信 2. 公開状態のGitHubリポジトリやGistの作成 3. 本番の商品・受注・顧客・画像・データベースの削除 4. Claude Codeの設定・スキル・記憶・会社知識の一括削除 現在の設定を上書きせず、既存のHookとの重複も確認してください。 調査結果は、専門用語を使わず日本語で説明してください。
まず調査だけをさせることで、不要な設定や既存設定の上書きを防げます。
提案を確認した後の依頼
提案内容に問題がなければ、次の文章を送ります。
提案した安全対策を実装してください。 条件は次のとおりです。 - 危険な操作は実行前に強制的に止める - 本当に取り返しのつかない操作だけを対象にする - 普通のファイル編集や調査は止めない - 現在の設定を消したり、全面的に上書きしたりしない - 変更前の状態へ戻せるようにする - パスワード、APIキー、個人情報を設定内に直接書かない - このパソコンの環境に合う方法を使う - 設定後に、実データへ影響しない安全な方法で動作確認する - 本番データを使った削除テストや外部送信テストは行わない 完了後は、「何を止めるようにしたか」「動作確認の結果」「元に戻す方法」を、非エンジニア向けに報告してください。
WindowsとMacでは設定方法が異なる場合がありますが、それもClaude Codeに判断させれば構いません。
設定後に必ず確認する
Hookは、作っただけでは安心できません。
設定場所が間違っていたり、判定条件に漏れがあったりすると、期待した場面で動かないことがあります。 また、Hookの処理が時間切れになった場合など、通常の権限確認へ進んでしまうケースもあります。 Claude Code Hooks公式資料
そのため、実装後は次の確認を依頼します。
設定したHookが現在も有効か確認してください。 本番環境や外部サービスには接続せず、架空の操作を使って安全にテストしてください。 次を確認してください。 - 禁止対象が実行前に止まる - 安全な通常作業は止まらない - 設定ファイルの場所が正しい - Hookのエラーや時間切れが発生していない - 既存の設定を壊していない 未確認の項目があれば、確認済みのように書かず、未確認と明記してください。
試していない安全装置は、効くかどうか分からない安全装置です。
実データを消して試す必要はありません。架空の命令を使った安全なテストをClaude Codeに行わせます。
Hookにも限界はある
Hookは強力ですが、文字どおり「何があっても絶対に守る魔法」ではありません。
次のような場合は、防げない可能性があります。
- 禁止条件に含まれていない操作
- Hookを通らない別の経路から行われた操作
- 設定場所や条件の間違い
- Hook自体が変更または無効化された場合
- Hookが起動できなかった場合
- Hookの処理が時間切れになった場合
- Claude Code以外のソフトや人が行った操作
会社全体で変更できないルールにしたい場合は、個人設定ではなく、管理者が管理する設定が必要です。
つまりHookは「唯一の安全対策」ではありません。
- 権限設定
- Hook
- バックアップ
- 操作記録
- 本番環境とテスト環境の分離
- 重要操作の人間承認
- 会社管理の変更できないルール
これらを組み合わせることで、安全性が高まります。
最初から増やしすぎない
最初から何十個もの禁止条件を登録すると、普通の仕事まで止まりやすくなります。
おすすめの進め方は次のとおりです。
- 外部公開・外部送信を守る
- 本番データの削除を守る
- 設定・スキル・記憶の一括削除を守る
- 実際に起きたヒヤリ事例に合わせて追加する
- 定期的にClaude Codeへ点検させる
追加するたびに、「危険な操作は止まるか」と「安全な仕事まで止めていないか」の両方を確認します。
まとめ
Claude Codeへルールを守らせる方法には、二つの役割があります。
CLAUDE.mdやスキルは、AIに仕事の進め方を伝えるものです。
Hookは、危険な操作を実行前に止める安全装置です。
最初に守るべきなのは、次の三つです。
- 外部への公開・送信
- 本番データの削除
- 設定・スキル・記憶の一括削除
設定は自分で書く必要はありません。
Claude Codeへ、調査、提案、実装、安全なテスト、結果報告まで依頼できます。
HookはAIの仕事を邪魔するためのものではありません。
取り返しのつかない事故だけを仕組みで防ぎ、安心してAIへ任せられる仕事を増やすためのものです。
この記事は、いまのあなたに合っていましたか
ボタンについては、お名前を取っていません。同じ方が二重に数えられないようにするためだけに記録が残ります。