til//claude-code-memory-hierarchy
claude-code-memory-hierarchy.mdupdated 2026-08-01993 chars

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に​書く。​判断基準は​単純で、​「誰に​・どこまで​届けたいか」に​応じて、​書く​場所の​高さを​決めれば​よい。

まとめ

すべての​層が​読み込まれ、​層同士が​競合した​場合は​より​具体的な​下位の​ファイルが​勝つ。​「グローバルの​設定だけが​効く」と​いうのは​誤解である。

148 notestil