CLAUDE.mdの書き方とは?Claude Codeのメモリを整理

この記事の要点
- CLAUDE.mdは「毎回説明し直していること」を書いておくメモ。会話の始まりに毎回読み込まれる
- 置き場所は組織・自分・プロジェクト・自分用プロジェクトの4種類。広い範囲から順に読まれ、上書きではなく全部がつながる
- 人が書くCLAUDE.mdと、Claudeが自分で書くオートメモリーの2本立て。長い手順はスキル、必ず守らせたいことはフックへ
Claude Code は、会話を始めるたびにまっさらな状態から動き出します。昨日伝えた「テストはこのコマンドで」「この言葉づかいで」といった決まりごとも、そのままでは覚えていません。毎回同じ説明をくり返すのは、地味に時間を取られる作業です。
そこで使うのが CLAUDE.md(クロード・エムディー) と オートメモリー(auto memory) です。この記事では、公式ドキュメント「How Claude remembers your project」(2026年10月22日確認)にもとづいて、CLAUDE.md とは何か、どこに置き、どう書けばよいか、自動で覚える仕組みはどう動くのかを順番に整理します。
結論:CLAUDE.mdは「毎回説明し直していること」を書くメモ
CLAUDE.md は、Claude に毎回伝えたい決まりごとを書いておく、ふつうのテキストファイル です。会話の始まりに必ず読み込まれるので、一度書けば次の会話からは説明がいりません。
公式ドキュメントは、次のような場面で書き足すことを勧めています。
- Claude が 同じまちがいを2回した とき
- コードの確認で「このプロジェクトなら知っていてほしかった」点が見つかったとき
- 前の会話でも打ち込んだ訂正 を、また打ち込んでいるとき
- 新しく入った仲間にも、同じ説明が必要になりそうなとき
ポイントは、CLAUDE.md は 「強制する設定」ではなく「読んでもらう文脈」 だという点です。Claude はできるだけ従おうとしますが、あいまいな指示や食い違う指示までは保証されません。どんな時も必ず止めたい操作は、あとで紹介するフックに任せます。
2つの記憶:人が書くCLAUDE.mdと、Claudeが書くオートメモリー
Claude Code の「覚える仕組み」は2本立てです。どちらも会話の始まりに読み込まれますが、書き手と中身が違います。
| CLAUDE.md | オートメモリー | |
|---|---|---|
| 書くのは | 使う人 | Claude 自身 |
| 中身 | 指示・決まりごと | 学んだこと・好みの傾向 |
| 範囲 | 組織・自分・プロジェクト | プロジェクト(リポジトリ)ごと |
| 読み込まれる量 | 毎回全部 | 目次ファイルの先頭200行か25KBまで |
| 向いている内容 | 作業の決まり、手順の入口、構成の約束 | 好み、受けた訂正、コードからは分からない背景 |
自分で決めて守ってほしいことは CLAUDE.md、会話の中で自然に伝わったことはオートメモリー と考えると迷いません。
CLAUDE.mdの置き場所は4種類
CLAUDE.md は、置く場所によって効く範囲が変わります。公式ドキュメントの表を、使い方の目線で言いかえます。
| 種類 | 置き場所 | 効く範囲 | 書く内容の例 |
|---|---|---|---|
| 組織の方針 | 管理者が各パソコンに配る場所 | その組織の全員 | 社内の決まり、セキュリティ方針 |
| 自分の指示 | ~/.claude/CLAUDE.md | 自分の全プロジェクト | 返答の言語、好みの書き方 |
| プロジェクトの指示 | ./CLAUDE.md か ./.claude/CLAUDE.md | そのプロジェクトのチーム全員 | 作業手順の入口、命名の決まり |
| 自分用のプロジェクト指示 | ./CLAUDE.local.md | そのプロジェクトの自分だけ | 自分の試験用の設定や好み |
プロジェクトの CLAUDE.md はバージョン管理でチームに共有されるので、個人の好みではなく、チーム全員に通じる決まり を書きます。自分だけの好みは CLAUDE.local.md に分け、共有しないよう .gitignore に入れておきます。
はじめて作るときは、会話の中で /init を実行すると、Claude がプロジェクトを調べて最初の CLAUDE.md を作ってくれます。すでにある場合は上書きせず、改善案を出してくれます。
読み込まれる順:広い範囲から、近い場所へ
複数の CLAUDE.md があるとき、どれか1つが勝つのではなく、見つかったものが全部つながって読み込まれます。順番は次のとおりです。
- 組織の方針
- 自分の指示(
~/.claude/CLAUDE.md) - プロジェクトの指示。作業を始めたフォルダと、その上のフォルダにあるものが、上の階層から順に読まれる
- 同じフォルダの中では、
CLAUDE.mdのあとにCLAUDE.local.md
つまり、作業している場所に近い指示ほど、あとから読まれます。また、作業フォルダより下のフォルダにある CLAUDE.md は最初には読まれず、Claude がそのフォルダのファイルを読んだり書いたりした時点で読み込まれます。

ちなみに、<!-- メモ --> のような HTML のコメントは、読み込む前に取り除かれます。人間向けの申し送りを書いても、Claude の読む量は増えません。
書き方のコツ:確かめられる言葉で、短く
CLAUDE.md は「読んでもらう文脈」なので、書き方しだいで守られやすさが変わります。公式ドキュメントのコツは、あとで守れたか確かめられる具体さ で書くことです。
| あいまいな書き方 | 確かめられる書き方 |
|---|---|
| コードをきれいに整える | インデントは半角スペース2つ |
| 変更を確認する | コミットの前に npm test を実行する |
| ファイルを整理しておく | 画面の部品は src/components/ に置く |
あわせて、次の3点を守ります。
- 長さ:1ファイル200行未満が目安。長いほど読む量が増え、守られにくくなる
- 見出しと箇条書き:関係する指示を見出しでまとめる。詰め込んだ文章より従いやすい
- 食い違いをなくす:2つの指示がぶつかると、Claude はどちらかを選んでしまう。ときどき見直して古い指示を消す
見直しは、会話の中で /doctor prompt-audit を実行すると Claude が代わりにやってくれます。古い書き方、存在しないファイルへの参照、ファイル同士の食い違いを報告し、頼むまではファイルを書き換えません。
短いCLAUDE.mdの見本
架空のプロジェクトを例にした、短い CLAUDE.md の見本です。
# 作業の決まり
- 返答と作業メモは日本語で書く
- コミットの前に npm test を実行し、失敗したらコミットしない
- 画面の部品は src/components/ に置く
# よく使うコマンド
- 開発用サーバー:npm run dev
- 型の確認:npm run typecheck
# 詳しい資料
- 文章の書き方 @docs/writing-guide.md
最後の行の @ で始まる書き方は インポート と呼ばれ、別のファイルの中身を一緒に読み込みます。ただし、インポートしたファイルも最初に全部読み込まれるので、分けても読む量は減りません。整理のための道具と考えます。
書かないことと、ほかの仕組みへの分け方
CLAUDE.md に書くのは、どの会話でも知っておいてほしい事実だけ です。そうでないものは、もっと向いている仕組みに回します。
- 何段階もある手順:スキルにする。呼ばれたときや関係がありそうなときだけ読み込まれる。使い分けは Claude Codeのスキル で解説しています
- 一部のファイルにしか関係しない決まり:
.claude/rules/に、対象のファイルを指定して置く(次の節) - どんな時も必ず守らせたいこと:フックにする。決まった場面で必ず動き、Claude の判断に左右されない。仕組みは Claude Codeのフック で解説しています
- 確認の出し方そのもの:権限やモードの設定で決める。考え方は Claude Codeのオートモード が参考になります
- コードを読めば分かること:フォルダの一覧や依存パッケージの一覧は書かなくてよい
rulesフォルダで決まりを分ける
プロジェクトが大きくなったら、.claude/rules/ フォルダに 1つのテーマにつき1ファイル で決まりを分けられます。testing.md、api-design.md のように、中身が分かる名前にします。下のフォルダに分けても、すべての .md が見つけられます。
| 書き方 | いつ読み込まれるか |
|---|---|
| ファイルの先頭に指定なし | 会話の始まりに毎回(.claude/CLAUDE.md と同じ扱い) |
先頭に paths で対象を指定 | 指定したファイルを Claude が読み書きしたときだけ |
paths は、ファイルの先頭に次のように書きます。この例なら、src/api/ の中の TypeScript を触るときだけ読み込まれます。
---
paths:
- "src/api/**/*.ts"
---
# API を作るときの決まり
- 受け取る値は必ず確かめる
全プロジェクト共通の自分ルールは ~/.claude/rules/ に置きます。自分のルールが先、プロジェクトのルールがあとに読まれますが、どちらかが上書きするわけではない ので、両方の中身をそろえておくことが大切です。
AGENTS.mdとの関係
ほかのAIコーディングツール向けに AGENTS.md を用意しているプロジェクトでも、Claude Code はそれを読めます。既定の動きは次のとおりです。
| プロジェクトにあるもの | Claude が読むもの |
|---|---|
AGENTS.md だけ(CLAUDE.md も CLAUDE.local.md もない) | AGENTS.md |
AGENTS.md と CLAUDE.md(または CLAUDE.local.md) | CLAUDE.md だけ |
@AGENTS.md をインポートしている CLAUDE.md | 両方(AGENTS.md はインポート経由) |
ツールをまたいで 1つのファイルを共有したい なら、CLAUDE.md の1行目に @AGENTS.md と書き、その下に Claude 専用の指示を足す形がいちばん確実です。両方を常に読ませたい場合は、/config の Project instructions を claude-md-and-agents-md に切り替えます。なお、AGENTS.md を直接読む機能は v2.1.277 以降で使えます。
オートメモリー:Claudeが自分で覚える仕組み
オートメモリーは、使う人が何も書かなくても、Claude が作業しながら 次の会話でも役に立ちそうなこと を自分でメモしていく仕組みです。手元のパソコンで使う場合は、最初からオンになっています。メモは4種類に分けて保存されます。
- user:使う人の役割、得意分野、仕事の進め方の好み
- feedback:受けた訂正や、「それでいい」と確かめられたやり方
- project:進行中の仕事、締め切り、コードや履歴からは分からない決定
- reference:課題管理の場所など、プロジェクトの外にある情報のありか
逆に、コードを読めば分かること(構成やファイルの場所、不具合の直し方)と、CLAUDE.md にすでに書いてあることは保存しません。
保存先はプロジェクトごとの memory/ フォルダで、目次の MEMORY.md と、1件ずつのメモのファイル でできています。会話の始まりに読み込まれるのは MEMORY.md の先頭200行か25KBまでで、細かいメモは必要になったときに読みにいきます。同じリポジトリの中なら、別の作業場所(worktree)でも同じメモを共有しますが、ほかのパソコンやクラウドとは共有されません。
会話の中で「いつも pnpm を使って」のように覚えてと頼むと、オートメモリーに保存されます。CLAUDE.md に書いてほしいときは「これを CLAUDE.md に足して」と、はっきり頼みます。
オフにしたいときは /memory の切り替えを使うか、そのプロジェクトの設定に "autoMemoryEnabled": false と書きます。
読み込まれているか確かめる手順
「書いたのに守ってくれない」と感じたら、次の順で確かめます。
/contextを実行し、Memory files の一覧に目的のファイルがあるか見る。なければ Claude には見えていない- 置き場所が、その会話で読み込まれる場所かを確かめる(下のフォルダの CLAUDE.md は、そのフォルダを触るまで読まれない)
- 指示を具体的に書き直す。「きれいに整える」より「インデントは半角スペース2つ」
- ほかの CLAUDE.md や rules に、食い違う指示がないか探す
- 「コミットの前に必ず」のように決まった場面で動かしたいなら、フックに移す
オートメモリーが何を覚えたか知りたいときは、/memory からメモのフォルダを開きます。中身はすべてふつうのテキストなので、読んで、直して、消せます。
よくある質問
CLAUDE.mdが長くなってしまいます。どうすればいいですか?
一部のファイルにしか関係しない決まりは paths つきの rules へ、何段階もある手順はスキルへ移します。インポートで分けても最初に全部読まれるので、読む量は減りません。目安は1ファイル200行未満です。
会話を圧縮(/compact)したら指示を忘れませんか?
プロジェクト直下の CLAUDE.md は、圧縮のあとに読み直されます。消えてしまうのは、会話の中でだけ伝えた指示です。残したい指示は CLAUDE.md に書いておきます。
オートメモリーの中身は他の人に見られますか?
保存先は手元のパソコンの中で、ほかのパソコンやクラウドとは共有されません。チームで共有したい決まりは、プロジェクトの CLAUDE.md に書いてバージョン管理に入れます。
サブエージェントもCLAUDE.mdやメモを読みますか?
メインの会話のオートメモリーは、サブエージェントには読み込まれません(会話を引き継ぐフォークは例外)。サブエージェントには専用のメモを持たせる設定があります。サブエージェントの使い方は Claude Codeのマルチエージェント入門 で解説しています。
出典
- Claude Code 公式ドキュメント「How Claude remembers your project」
- Claude Code 公式ドキュメント「Extend Claude Code」
- Claude Code 公式ドキュメント「Skills」
この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。


