- 投稿日:2026/04/22
- 更新日:2026/04/22
この回のゴール
Hooksという高度な仕組みの存在を知り、「どんな問題を解決できるか」を理解します。この回では設定ファイルを編集しません。将来必要になったときに戻ってくる参考章です。
なぜHooksが必要になるか
deny ルールだけでは、コマンドの中身までは区別できないからです。
たとえば次のようなケースがあります。
ケース1: データベース操作で SELECT だけ許可したい
第9回で `psql *` を ask にしました。これは「すべてのpsqlコマンドに毎回確認する」という仕組みです。SELECTもDROP TABLEも同じ扱いになります。理想としては「SELECTは自動許可、DROP TABLEはブロック」としたいですが、deny ルールはコマンド名しか判別できないため、この区別は不可能です。
ケース2: Bashで `.env` を読まれる問題
第8回で `Read(**/.env)` を deny にしました。しかし Claude Code は `cat .env` のような Bash コマンドで同じファイルを読めます。ファイル名をパターンで止めたいのですが、Bashコマンドの引数までを deny で判別するのは困難です。
続きは、リベシティにログインしてからお読みください