リファレンス
CLAUDE.md:置き場所・読み込み順・書き方
CLAUDE.md は Claude Code が毎セッション冒頭で読み込む指示ファイルです。置き場所は 4 つあり、広い順に「管理ポリシー(IT 部門が配布、個別設定で無効化できない)」「ユーザ `~/.claude/CLAUDE.md`」「プロジェクト `./CLAUDE.md` または `./.claude/CLAUDE.md`」「ローカル `./CLAUDE.local.md`」。すべて上書きではなく連結され、ルートに近いものから順にコンテキストへ入ります。目安は 1 ファイル 200 行未満、4 MiB を超えるファイルはまるごとスキップされます。
どこに置くと誰に効くか
| スコープ | 場所 | 共有範囲 |
|---|---|---|
| 管理ポリシー | macOS: /Library/Application Support/ClaudeCode/CLAUDE.md / Linux・WSL: /etc/claude-code/CLAUDE.md / Windows: C:\Program Files\ClaudeCode\CLAUDE.md | 組織内の全ユーザ。個別設定では除外できない |
| ユーザ | ~/.claude/CLAUDE.md | 自分だけ(全プロジェクト) |
| プロジェクト | ./CLAUDE.md または ./.claude/CLAUDE.md | チーム全員(バージョン管理経由) |
| ローカル | ./CLAUDE.local.md | 自分だけ(このプロジェクト)。.gitignore に入れる |
作業ディレクトリとその上位ディレクトリにある CLAUDE.md / CLAUDE.local.md は起動時に読み込まれます。サブディレクトリにあるものは起動時ではなく、そのディレクトリのファイルを読んだタイミングで読み込まれます。モノレポで他チームの CLAUDE.md まで拾ってしまう場合は、設定 `claudeMdExcludes` にグロブを書いて除外できます。
何を書き、何を書かないか
公式は判断基準を明快に示しています。「もう一度説明することになる内容」を書け、というものです。具体的には、同じ間違いを 2 回された、コードレビューで Claude が知っておくべきだった点が指摘された、前回と同じ訂正をまた打った、新しいメンバーにも同じ説明が要る——このいずれかに当たったら追加どきです。
- 書く:ビルド・テストのコマンド、ディレクトリ構成、命名規則、「常に X する」型のルール。
- 書かない:複数手順の手続きや、コードベースの一部にしか効かない話。前者は skill、後者は `.claude/rules/` のパス限定ルールに回します。
- 具体的に:「コードを整形する」ではなく「インデントは半角スペース 2 つ」。「テストする」ではなく「コミット前に `npm test` を実行する」。
- 矛盾させない:複数ファイルで逆のことを言うと、どちらかが恣意的に選ばれます。
@import で分割する
`@path/to/file` 形式で別ファイルを読み込めます。相対パスはその import を書いたファイルからの相対で解決され、import はさらに import でき、最大 4 ホップまでです。注意点として、import されたファイルも起動時にコンテキストへ展開されるため、分割は整理のためであってコンテキスト削減にはなりません。
See @README for project overview and @package.json for available npm commands.
# Additional Instructions
- git workflow @docs/git-instructions.md AGENTS.md がすでにある場合
Claude Code が読むのは CLAUDE.md であって AGENTS.md ではありません。他のエージェント向けに AGENTS.md を運用しているリポジトリでは、CLAUDE.md を作って `@AGENTS.md` で取り込むのが公式の推奨です。二重管理を避けつつ、その下に Claude 固有の指示を足せます。Windows ではシンボリックリンクに管理者権限か開発者モードが要るため、import 方式のほうが安全です。
@AGENTS.md
## Claude Code
src/billing/ 以下の変更はプランモードで行う。 パス限定ルールでコンテキストを節約する
CLAUDE.md が膨らんできたら `.claude/rules/` にトピック別のファイルを置きます。YAML フロントマターの `paths` を書いたルールは、Claude がそのパターンに一致するファイルを読んだときだけ読み込まれます。`paths` の無いルールは無条件に読み込まれ、優先度は `.claude/CLAUDE.md` と同じです。
---
paths:
- "src/api/**/*.ts"
---
# API 開発ルール
- 全エンドポイントで入力検証を行う
- エラーレスポンスは共通フォーマットに従う 推奨は 1 ファイル 200 行未満。これは強制ではなく、長いほどコンテキストを消費し遵守率が下がるという理由からです。ハードな上限は 4 MiB で、これを超えるファイルは読み込まれずにスキップされます。なお 200 行 / 25KB の上限は自動メモリの MEMORY.md 側の話で、CLAUDE.md とは別物です。
よくある質問
- CLAUDE.md はどこに置くのが正解ですか?
- チームで共有したい内容はプロジェクト直下の ./CLAUDE.md または ./.claude/CLAUDE.md に置き、バージョン管理に入れます。自分だけの好みは ~/.claude/CLAUDE.md、このプロジェクト限定の個人的な内容は ./CLAUDE.local.md(.gitignore 対象)です。組織全体に強制したい規程は管理ポリシーの場所に配置します。
- CLAUDE.md は何行くらいが適切ですか?
- 公式は 1 ファイル 200 行未満を目安としています。長いほどコンテキストを消費し、指示の遵守率が下がるためです。4 MiB を超えるファイルは読み込まれずスキップされます。増えてきたら .claude/rules/ に分割し、paths フロントマターで必要なときだけ読ませます。
- CLAUDE.md の指示が守られません。
- まず `/context` の Memory files に該当ファイルが出ているか確認します。出ていなければ読み込まれていません。読み込まれている場合、公式は CLAUDE.md がシステムプロンプトではなくユーザメッセージとして渡されるため厳密な遵守は保証されない、と明記しています。確実に実行させたい処理は hook に書きます。
- AGENTS.md と CLAUDE.md は両方必要ですか?
- 内容を二重管理する必要はありません。Claude Code は CLAUDE.md しか読まないので、CLAUDE.md に `@AGENTS.md` の 1 行を書いて取り込みます。セッション開始時に AGENTS.md の内容が展開され、その下に Claude 固有の指示を追記できます。
出典
- Claude Code 公式ドキュメント — CLAUDE.md とメモリ — 最終確認日: 2026-09-05