AI Tools 2026年8月27日

6-3 事故を仕組みで防ぐ|権限設定と Hooks

確認を減らしつつ安全を保つ方法。何を自動承認し何を必ず止めるかを権限設定で決め、Hooks で危険な操作を機械的にブロックします。非エンジニア向けに、注意力に頼らない安全設計を解説します。

難易度前提知識ゼロでも読めます所要時間約 45 分種別学習コース

先に読む2-3 Claude Code 初回起動|最初の動作確認チェックリスト/6-1 よく使う指示を保存する|スラッシュコマンド入門

このレッスンでわかること

2-3 で「許可プロンプトは安全装置」と学びました。ただ、使い込むほど確認の回数が増えて面倒になり、内容を読まずに承認するようになります。これがいちばん危ない状態です。

  • 確認を減らしながら、安全性はむしろ上げる方法がわかる
  • 何を自動承認し、何を必ず止めるかを自分で決められる
  • Hooks で「絶対にやってほしくないこと」を機械的に止められる

**この章の中で、いちばん実害を防ぐレッスンです。**次章から扱う内容(Web公開・外部ツール連携)は、事故が起きたときの影響が大きくなります。その前にここを済ませます。

問題:「毎回確認」は安全ではない

初期設定では、ファイルを変更するたびに確認を求められます。安全に見えますが、実際にはこうなります。

  1. 確認が多すぎる
  2. 内容を読まずに Enter を押す癖がつく
  3. 本当に危険な操作も、同じ勢いで承認してしまう

これは注意力の問題ではなく、設計の問題です。人間は同じ判断を何十回も繰り返すと精度が落ちます。

解決の方向は「確認を増やす」ではありません。安全なものは自動で通し、危険なものだけを確実に止めることです。そうすれば、確認画面が出たとき「これは本当に確認すべきものだ」と分かります。

対策1:権限設定で「通すもの」と「止めるもの」を決める

Claude Code には、操作ごとに「許可」「拒否」「毎回確認」を設定する仕組みがあります。

設定の考え方

区分設定
元に戻せる/読むだけファイルを読む、フォルダ一覧を見る許可(自動で通す)
作業に必要で、結果を確認できる作業フォルダ内でのファイル作成・編集許可
元に戻せない/影響が外に出るファイル削除、外部への送信、公開毎回確認
やってほしくない認証情報ファイルの読み取り、作業フォルダの外を触る拒否

判断基準はひとつ、「間違えたとき、元に戻せるか」です。

設定してみる

.claude/settings.json というファイルで設定します。対話画面に入力して作ってもらいましょう。

.claude/settings.json を作って、権限設定を書いてください。

- ファイルの読み取りと、このフォルダ内でのファイル作成・編集は自動で許可
- ファイルの削除は必ず確認する
- 認証情報を含む設定ファイルの読み取りは拒否する

書いたあとに、どういう意味の設定か1項目ずつ説明してください。

**「説明してください」を付けるのが大事です。**設定ファイルの中身が読めなくても、意味を確認してから使えます。

書き終わったら、権限モードを Accept edits(デスクトップアプリなら同名のモード)に上げてみてください。編集は自動で通り、削除では止まるようになります。

認証情報ファイルについて。 システム開発では、パスワードや API キーを専用の設定ファイルにまとめて置く慣習があります。中身を見せると認証情報が漏れるため、**業務で扱うなら拒否設定に入れておいてください。**どのファイルが該当するか分からない場合は、対話画面で「このフォルダに認証情報を含むファイルはありますか」と聞けば教えてもらえます。

対策2:Hooks で機械的に止める

権限設定は「操作の種類」で判断します。しかし現実には「操作は同じだが、対象によって危険度が違う」ケースがあります。

  • ファイル編集は許可したい。でも 請求書_確定版.xlsx だけは触ってほしくない
  • コマンド実行は許可したい。でも削除コマンドだけは絶対に止めたい

こういうときに使うのが Hooks です。

Hooks とは

決められたタイミングで、自動的に走るチェックです。人が見ていなくても働きます。

イメージとしては、工場のラインに付いている安全装置に近いものです。作業者が注意していなくても、危険な状態になったら機械が止まる。Hooks はそれを Claude Code の操作に対して行います。

主なタイミングは次の2つです。

タイミング使いどころ
操作の前危険な操作を検知して止める
操作の後変更内容を記録する、通知する

作ってみる:削除を止める

対話画面に入力します。

Hooks を設定したいです。

やりたいこと:
- Claude Code がコマンドを実行する前にチェックを入れる
- ファイルを削除するコマンドが含まれていたら実行を止める
- 止めたときは「削除コマンドはブロックしました」と表示する

設定ファイルを作って、書いた内容の意味を1行ずつ説明してください。
そのあと、実際に動くかテストする方法も教えてください。

設定ファイルの中身を自分で書ける必要はありません。「何をしたいか」を日本語で伝えて、意味を説明してもらうのが、このレッスンでの進め方です。

動作を確認する

**必ずテストしてください。**設定しただけで安心するのが、いちばん危ない状態です。

練習用フォルダで、消えても困らないファイルを作ってから試します。

練習用に delete-test.txt というファイルを作ってください。
そのあと、そのファイルを削除コマンドで消してみてください。

**ブロックされれば成功です。**もし削除されてしまったら、Hooks が効いていません。設定を見直してください。

**これは 4-3 で学んだ「わざと失敗させて確認する」と同じ考え方です。**安全装置は、動くことを確かめて初めて安全装置になります。

何を Hooks で止めるべきか

非エンジニアの業務で優先度が高いものを挙げます。

  1. ファイルの削除 — 元に戻せない。最優先
  2. 確定版・提出済みファイルの編集 — ファイル名に「確定」「提出」「final」が含まれるものを保護
  3. 作業フォルダの外への書き込み — 想定外の場所を触らせない
  4. 認証情報の読み取り — パスワードや API キーを含むファイル

権限設定と Hooks の使い分け

権限設定Hooks
判断のしかた操作の種類で決める中身を見て決める
「削除は毎回確認」「ファイル名に『確定』が入っていたら止める」
設定の手間軽いやや重い

まず権限設定で大枠を決め、それでは表現できない条件だけ Hooks で補う、という順序がおすすめです。

よくあるつまずきと対処法

設定したのに効いていない

  • Claude Code を再起動したか — 設定は起動時に読み込まれます
  • ファイルの場所は合っているか — 対話画面で「.claude フォルダの中身を見せて」で確認できます
  • 書式が壊れていないか — 対話画面に「.claude/settings.json の書式が正しいか確認して」と頼めば見てもらえます

止まりすぎて作業が進まない

条件が広すぎます。「すべてのコマンドを止める」ではなく「削除コマンドだけ止める」のように、**対象を絞ってください。**設定を書き直すときも、日本語で「〜だけ止めたい」と伝えれば直してもらえます。

会社のパソコンで設定が変えられない

組織側で管理設定が適用されている場合があります。自己判断で回避しようとせず、情報システム部門に相談してください。

**※ Hooks の設定方法は変化が早い分野です。**うまくいかないときは公式ドキュメント(code.claude.com/docs)で最新の書き方を確認してください。

この章のまとめ:3つの仕組みが揃った

第5章と第6章で、Claude Code を「その場の指示」から「仕組み」へ移す道具が揃いました。

仕組み役割
CLAUDE.md(5-1)前提を常に効かせる
スラッシュコマンド(6-1)決まった手順を呼び出す
Skills(6-2)判断基準を自動で適用する
権限設定・Hooks(6-3)事故を機械的に防ぐ

次章からは Web ページの公開や外部ツール連携に進みます。扱う範囲が広がるほど、ここで作った安全装置が効いてきます。

やってみよう

  1. 棚卸し:自分の作業フォルダで「絶対に消えたら困るファイル」を3つ挙げましょう
  2. 権限設定.claude/settings.json を作り、読み取りと編集は許可、削除は毎回確認、認証情報ファイルは拒否に設定してください。意味の説明も受けてください
  3. Hooks:削除コマンドを止める Hooks を設定しましょう
  4. テスト練習用フォルダで、消えても困らないファイルを作ってから削除を試し、実際にブロックされることを確認してください
  5. モードを上げる:安全装置が効いていることを確認できたら、権限モードを Accept edits に上げ、日常の確認回数が減ることを体感しましょう

まとめ

  • **「毎回確認」は安全ではない。**確認が多いほど、読まずに承認する癖がつく
  • 安全なものは自動で通し、危険なものだけ確実に止めるのが正しい方向
  • 判断基準は「間違えたとき、元に戻せるか
  • 権限設定は操作の種類で、Hooks は中身を見て判断する
  • 優先して止めるべきは、削除・確定版の編集・作業フォルダ外・認証情報
  • **設定したら必ずテストする。**動くことを確かめて初めて安全装置になる
  • 設定ファイルを自分で書ける必要はない。日本語で頼み、意味を説明してもらう

理解度チェック

Q1. 「すべての操作で毎回確認する」設定が、かえって危険になりうる理由はどれでしょう?

  1. 確認のたびに料金が発生するから
  2. 確認が多すぎると内容を読まずに承認する癖がつき、本当に危険な操作も通してしまうから
  3. 確認するとファイルが壊れる可能性があるから
  4. 確認回数には上限があり、超えると自動承認になるから
答えを見る

正解:2

人は同じ判断を繰り返すと精度が落ちます。確認が日常になると内容を読まなくなり、安全装置として機能しなくなります。だからこそ「安全なものは自動で通し、危険なものだけ止める」設計にして、確認画面が出たときに「これは本当に確認すべきものだ」と分かる状態を作ります。

Q2. 「ファイル名に『確定』が含まれるファイルは編集させたくない」という要件は、どちらで実現するのが適切でしょう?

  1. 権限設定。操作の種類で判断できるから
  2. Hooks。操作の中身(対象ファイル名)を見て判断する必要があるから
  3. CLAUDE.md に「確定版は編集しないで」と書く
  4. スラッシュコマンドとして登録する
答えを見る

正解:2

権限設定は「編集」「削除」といった操作の種類で判断するため、「特定の名前のファイルだけ」という条件は表現できません。中身を見て判断するのが Hooks の役割です。なお 3 の CLAUDE.md に書く方法も効果はありますが、これは「お願い」であって強制ではありません。絶対に防ぎたいことは、お願いではなく仕組みで止めます。