掲載済み (2026-09-12号)
028 180文字 • 1分

Claude Code の Rules が黙って死ぬのは、Claude が Read ツールを使っていないから

日本語

掲載情報

2026年9月12日土曜日号 アネックス掲載

概要

Claude Codeにおいて、トークン節約を目的としたBashコマンドへの迂回指示により、Readツールに紐付いたカスタムルールやCLAUDE.mdが読み込まれなくなる問題の原因と回避策を詳解しています。

詳細内容

この記事は、Claude Codeのカスタムルール(paths付きRules)やサブディレクトリのCLAUDE.mdが意図通りに動作しない「サイレントな機能不全」を分析しています。根本的な原因は、Claudeがファイルを読み取る際に専用の`Read`ツールではなく、Bashの`cat`や`sed`を優先して使うよう指示されるシステムプロンプトにあります。Rulesの発火は`Read`ツールの実行に紐付いているため、Bashコマンドで代用されるとフックが作動しません。この挙動は`CLAUDE_CODE_THRIFTY_SONIC`というフィーチャーフラグによって制御されており、セッション単位のA/Bテスト(特にOpusモデルなど)によって発生の有無が決まります。対策として、プロンプトで`Read`ツールの優先を明示するか、環境変数でフラグを`false`または`0`に設定して機能を無効化することを推奨しています。特にサブエージェント構成では親セッションの割り当てを継承するため、影響が広範囲に及ぶ点に注意が必要です。