Claude Code の CLAUDE.md 階層 — 指示はどの範囲まで届くか
CLAUDE.md(クロード・エムディー)は、Claude Code(ターミナルで動くAI開発エージェント)が会話のたびに自動で読み込む指示書である。この指示書は階層構造を持ち、複数のファイルが同時にすべて読み込まれる。どこかがスキップされることはない。
4つの層
最も優先度が高いのは管理ポリシー(会社支給PCに強制適用される設定)で、除外できない。次にユーザーグローバル(~/.claude/CLAUDE.md)があり、そのユーザーの全プロジェクトに共通で適用される。3つ目はプロジェクトの祖先ディレクトリに置かれたCLAUDE.mdで、その配下にある全リポジトリに適用される。最後がリポジトリ固有(リポのルート)のCLAUDE.mdで、最も狭いスコープを持ち、階層の中で最後に読み込まれる。
競合時のルール:下位が勝つ
該当するファイルはすべて連結(concatenate=つなぎ合わせること)されてAIに渡される。読み込まれる順序がそのまま優先度を決め、より下位(より具体的)なファイルが後から読まれるため、そちらが優先される。層をまたいで真っ向から矛盾する指示があるとAIの振る舞いが揺れるため、重複するルールは削除しておくのが望ましい。
CLAUDE.md と settings.json の違い
CLAUDE.mdはAIに向けた自然言語の指示であり、「こう振る舞え」という内容を書く場所である。一方settings.jsonはツール本体の設定であり、権限やフック(=ツールイベントに紐づけて実行するスクリプト)などをClaude Code自身が実行時に参照する。「保存時に自動整形する」といった自動化はCLAUDE.mdではなくフックに書くべきものである。
どの層に書くか
全プロジェクトに共通する好みは~/.claude/CLAUDE.mdに書く。チームや会社レベルのルールは共有の親フォルダのCLAUDE.mdに書く。特定のリポジトリだけに関わる取り決めはそのリポのルートのCLAUDE.mdに書く。判断基準は単純で、「誰に・どこまで届けたいか」に応じて、書く場所の高さを決めればよい。
まとめ
すべての層が読み込まれ、層同士が競合した場合はより具体的な下位のファイルが勝つ。「グローバルの設定だけが効く」というのは誤解である。
関連ノート
- Browser Automation MCP 2026 — Comparing Playwright, chrome-devtools and agent-browser
- A tidy-up of the Claude Agents specifications
- "how does <filepath> work?" — Claude Code's placeholder prompt
- Does Claude Code's Spawn (parallel subagent launch) really run in parallel?
- Claude Mythos and Oceanus — the cutting edge and its "version for everyone"
- Claude Code orchestration glossary, 2026-05