アクセス解析は同意後だけ使います。詳細

設定と CLAUDE.md

Claude Codeのメモリとは⁠|CLAUDE.mdと自動メモリの違い、/memoryの使い方

要点この記事の答え
  1. メモリは、会話をまたいで知識を引き継ぐ仕組みです。
  2. 自分で書くCLAUDE.mdと、Claudeが書く自動メモリがあります。
  3. /memoryで見て直し、長い手順は入れません。
メモリは会話をまたいで知識を引き継ぐ仕組みで、自分で書くCLAUDE.md(ユーザー・プロジェクト・ローカル)とClaudeが自分で書く自動メモリがあり、/memoryで見て直し、長い手順や秘密の値は入れない。

Claude Codeは、会話を新しく始めるたびに、前の会話を覚えていません。そこで、次の会話に知識を引き継ぐ仕組みが2つあります。自分で書くCLAUDE.mdと、Claudeが自分で書く自動メモリです。この2つをまとめて、公式は「Claudeがプロジェクトを覚える仕組み」と呼んでいます。

いま入っているメモリを見たり、開いて直したりするコマンドが/memoryです。「覚えておいて」と頼めば、Claudeが自動メモリに書きます。この記事では、置き場所、読み込まれ方、書くべきでないこと、スキルやMCPサーバーとの使い分けまでを説明します。パソコンのメモリ(RAM)を使いすぎるときの対処は、記事の後半の「パソコンのメモリ(RAM)を使いすぎるとき」にまとめました。

手順は、2026年10月26日に公式のClaudeがプロジェクトを覚える仕組み、拡張機能の使い分け、トラブル対応と照らし合わせました。

この記事はClaude Codeの話です。claude.aiやスマホのアプリで、Claudeが会話の中身を覚える「メモリ機能」は別のもので、次の記事で説明しています。

関連記事claude.ai の機能Claudeのメモリ機能とは?どこで見る・削除・オフの仕方と危険性Claudeのアプリのメモリ機能を公式情報で解説。使えるプラン、覚えている中身を見る場所、直し方と削除、一時停止とリセットとシークレットチャットの違い、覚えない話題、ほかのAIからのインポート、学習の設定や会社のプランとの関係、Claude Codeのメモリとの違いをまとめます。

メモリの2つの仕組み

どちらも、会話の開始時に読み込まれます(CLAUDE.mdのうち、サブフォルダのものは、そのフォルダのファイルを扱うときに読み込まれます)。ただし、Claudeはこれらを「守らせる設定」ではなく参考にする文脈として扱います。確実に止めたい操作は、フックを使います。

CLAUDE.md自動メモリ
書く人CLAUDE.mdあなた自動メモリClaude
中身CLAUDE.md指示とルール自動メモリ学んだことやパターン
範囲CLAUDE.mdプロジェクト、ユーザー、組織自動メモリリポジトリごと(worktreeで共有)
読み込みCLAUDE.md会話の開始時(サブフォルダのものは必要なとき)自動メモリ会話の開始時(先頭の200行か25KBまで)
向いている内容CLAUDE.mdコーディングの決まり、手順、プロジェクトの構成自動メモリあなたの好み、直された内容、コードから分からない背景

用語集ではメモリ、CLAUDE.mdの項目にあたります。

CLAUDE.mdを置く場所(ユーザー・プロジェクト・ローカル)

公式が挙げる置き場所は次のとおりです。範囲の広いものから順に読み込まれ、狭いものが後に来ます。

範囲置き場所共有される相手
範囲組織の管理置き場所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共有される相手チーム(Gitで共有)
範囲ローカル置き場所./CLAUDE.local.md共有される相手自分だけ(そのプロジェクト)

CLAUDE.local.mdは個人用なので、.gitignoreに入れておきます。作業フォルダとその上のフォルダにあるCLAUDE.mdは起動時に読み込まれ、サブフォルダのものは、そのフォルダのファイルをClaudeが読み書きしたときに読み込まれます。

リポジトリがCLAUDE.mdの代わりにAGENTS.mdを使っている場合、公式によると、Claude Codeはそれもプロジェクトの指示として読めます。条件は、公式のAGENTS.mdの説明を見てください。

ひな形は、次の記事にまとめています。

関連記事設定と CLAUDE.mdCLAUDE.mdの書き方とテンプレート集|置き場所・読み込み順・AGENTS.mdとの違いCLAUDE.mdの書き方は、/initでたたき台を作り、Claudeが推測できないコマンドや規約だけを200行未満で足すのが基本です。置き場所と読み込み順、AGENTS.mdとの違い、肥大化を防ぐ分け方、用途別テンプレートも紹介します。

自動メモリは何を覚えるか

Claudeは、作業の中で、次の4種類のメモを自分用に残します。メモのファイルには種類(type)が書かれます。

  • user あなたの役割、得意なこと、作業の好み
  • feedback あなたに直されたこと、よいと確認した進め方
  • project 進行中の作業、期限、コードやGitの履歴から分からない決定
  • reference 課題管理やダッシュボードなど、プロジェクトの外の情報の場所

コードから読み取れること(構成、ファイルの場所、デバッグの直し方)や、CLAUDE.mdにすでにあることは、保存しません。毎回何かを保存するわけでもなく、次の会話で役に立つかどうかで決めます。

保存される場所とMEMORY.md

プロジェクトごとに~/.claude/projects/<project>/memory/というフォルダができます。名前はGitのリポジトリから決まるので、同じリポジトリのworktreeやサブフォルダは、1つのフォルダを共有します。

テキスト
~/.claude/projects/<project>/memory/
├── MEMORY.md           # 索引。1行に1件。毎回読み込まれる
├── user_role.md        # 1件のメモ
├── feedback_testing.md # 1件のメモ
└── ...
図 1会話の初めに読み込まれるメモリの量自動メモリのMEMORY.mdは、先頭の200行か25KBまでしか読まれません。CLAUDE.mdも200行未満が目安です。

要点

200行

MEMORY.mdが会話の初めに読まれるのは、先頭の200行か25KBの、先に届いたほうまで

CLAUDE.mdの長さの目安
200行未満
@での取り込みの深さ
4段まで
読み飛ばされるCLAUDE.md
4MiBを超えるもの
出典 Claude Codeの公式の説明How Claude remembers your project。2026年10月25日に確かめました。200行未満はCLAUDE.mdの目安で、超えても読み込まれます。MEMORY.mdの上限は、超えた分が次の会話で読まれない決まりです。
数値を表で見る
項目量中身
CLAUDE.mdの長さの目安200行未満長いほど文脈を使い、指示が守られにくくなる
MEMORY.mdが読み込まれる量先頭の200行か25KBどちらか先に届いたところまで。それより後は読まれない
@での取り込みの深さ4段まで分けて取り込んでも、一緒に読まれるので使う文脈は減らない
読み飛ばされるCLAUDE.md4MiBを超えるもの読み込まれない

読み込まれるのは、MEMORY.mdの先頭200行か25KBまでです。詳しい内容は別のファイルに分けられ、必要なときにClaudeが読みに行きます。ファイルはふつうのMarkdownなので、自分で読んで、直して、消せます。そのPCの中だけに保存され、別のPCやクラウドとは共有されません。

MEMORY.mdは、自動メモリの索引です。Claudeが書き、1行に1件の短い見出しを並べます。会話中に「Saved 2 memories」や「Recalled 2 memories」のような表示が出たら、Claudeがこのフォルダに書いたか、読んだところです。

保存先を変えたいときは、settings.jsonにautoMemoryDirectoryを書きます。

設定
{
  "autoMemoryDirectory": "~/my-custom-memory-dir"
}

オンとオフ

自動メモリは、ローカルのセッションでは初期状態でオンです。公式によると、セルフホスト環境のセッションでは、初期状態でオフです。/memoryの中の切り替えでオフにでき、設定は~/.claude/settings.jsonのautoMemoryEnabledに保存されます。プロジェクトだけで切るなら、そのプロジェクトの設定に書きます。

設定
{
  "autoMemoryEnabled": false
}

環境変数CLAUDE_CODE_DISABLE_AUTO_MEMORY=1でも切れます。

/memoryで見る・直す

/memoryは、CLAUDE.mdやCLAUDE.local.mdなどの置き場所を、ユーザーとプロジェクトの別に一覧にします。まだ存在しないファイルも並び、選ぶと作ってから開きます。自動メモリのオンとオフの切り替えと、自動メモリのフォルダを開く項目もあります。

読み込まれたCLAUDE.mdやルールのファイルを確かめるには、/contextを実行します。「覚えさせたい」ときの頼み方は、公式が次のように説明しています。

  • 「pnpmを使って、npmは使わないで」のように頼むと、Claudeは自動メモリに保存します
  • CLAUDE.mdに入れたいときは、「これをCLAUDE.mdに追加して」と頼むか、/memoryから開いて自分で書きます

#を頭に付けて覚えさせる方法は、2026年10月26日時点の公式のメモリの説明にはありません。 古い解説で見かけても、いまは「覚えておいて」と頼む形で使うのが公式の説明です。

ほかのファイルを取り込む(インポート)

CLAUDE.mdの中で@パスと書くと、そのファイルが一緒に読み込まれます。

テキスト
READMEは @README を、使えるコマンドは @package.json を見て。

# 追加の指示
- gitの手順は @docs/git-instructions.md

相対パスは、書いたファイルから見た位置で決まります。取り込んだファイルがさらに取り込む入れ子は、4段までです。コードの書式の中(バッククォートで囲んだ部分)の@は、取り込みになりません。パスにスペースがあるときは、スペースの前に\を付けます。

取り込んでも、読み込まれる量は減りません。 整理には役立ちますが、取り込んだファイルは、取り込んだCLAUDE.mdと一緒にコンテキストに入ります。プロジェクトの外(ホームフォルダなど)を指す取り込みは、初めて見つかったときに確認の画面が出ます。

書くべきでないこと

公式の説明と、そこから言えることを分けて書きます。

公式の説明にあるのは、次のことです。

  • 200行を超える長いCLAUDE.mdは、コンテキストを多く使い、守られにくくなります。目安は1ファイル200行以内です
  • 手順が何段もあるものや、コードの一部にしか関係しないものは、CLAUDE.mdではなく、スキルかパスを限ったルール(.claude/rules/)に移します
  • コードから読み取れる内容(フォルダの構成、依存の一覧、設計の概要)は不要です。/doctorの点検は、こうした内容を削る案を出します
  • 毎回必ず起きてほしい処理や、確実に止めたい操作は、メモリではなくフックを使います
  • 矛盾した指示は、どちらかが適当に選ばれます。古い指示や矛盾は、/doctor prompt-audit(Claude Code v2.1.283以降)で見つけられます

ここからは編集部の考えです。公式の説明には書かれていませんが、プロジェクトのCLAUDE.mdはGitでチームに共有されるので、パスワードやAPIキーなどの秘密の値は書かないほうが安全です。個人の事情は、Gitに入れないCLAUDE.local.mdに書きます。

フックについては、次の記事にまとめています。

関連記事広げるClaude Code Hooksの使い方とおすすめ例|通知・整形・危険操作の停止Claude Code Hooksのおすすめの使い道を早見表で。Mac・Windows・Linuxの通知、編集後の自動整形、rm -rfを止めるPreToolUse。exit 2とexit 1の違いを実際に動かして確かめた結果も。

スキルやルールとの使い分け

CLAUDE.md、.claude/rules/のルール、スキルは、どれも指示を書いておくものです。違いは、いつ読み込まれるかです。公式の拡張機能の使い分けでは、次のように分けています。

種類読み込まれるとき向いている内容
種類CLAUDE.md読み込まれるとき毎回の会話向いている内容決まりとビルドの手順
種類ルール読み込まれるとき毎回か、合うファイルを開いたとき向いている内容言語やフォルダごとの決まり
種類スキル読み込まれるとき呼んだときか、関係するとき向いている内容手順書、参考資料
種類自動メモリ読み込まれるとき毎回の会話(索引のみ)向いている内容好み、直された内容

スキルは、会話の開始時には名前と説明だけが読み込まれ、使うときに中身が入ります。そのため、たまにしか要らない資料や、/deployのように呼び出す手順は、CLAUDE.mdではなくスキルに置きます。公式の目安は、同じ手順を3回目に貼り付けたらスキルにする、です。

スキルの作り方は、次の記事にまとめています。

関連記事広げるClaude Code Skillsの使い方|SKILL.mdの書き方・置き場所・おすすめの例Claude Code Skillsの使い方を公式情報で解説。置き場所と優先順位、SKILL.mdの全項目、読み込まれる仕組みと文脈のコスト、コピーして使える例、最初から入っているスキル、うまく呼ばれないときの直し方まで。

MCPサーバーでメモリを足す

Claude Codeのメモリは、CLAUDE.mdと自動メモリの2つで、どちらもMarkdownのファイルです。これとは別に、MCPサーバーをつないで、会話をまたいで情報を残す道具を足すこともできます。

MCPの公式リポジトリ(modelcontextprotocol/servers)には、「Knowledge Graph Memory Server」という見本のサーバーがあります。説明は「ローカルの知識グラフを使った、永続メモリの基本的な実装」です。人や物(エンティティ)、そのつながり(リレーション)、1つずつの事実(オブザベーション)を、JSONLのファイルに保存します。保存先は環境変数MEMORY_FILE_PATHで変えられます。

READMEにClaude Codeでの追加手順は書かれていません。Claude Codeの公式の書き方に当てはめると、次のようになります。

コマンド
claude mcp add memory -- npx -y @modelcontextprotocol/server-memory

このサーバーをnpx経由で動かすには、READMEによるとNode.js 24以上が必要です。このコマンドに範囲の指定を付けないと、そのプロジェクトで自分だけが使えるlocalの範囲に入ります。公式は、つなぐ前にそのサーバーを信頼できるか確かめるよう書いています。

Basic Memory、codebase-memory-mcpなど、第三者が作ったメモリ用のMCPサーバーもあります。この記事では中身や安全性を確かめていないので、使う前にそれぞれのREADMEを読んでください。

MCPとスキルの違いは、公式によると「MCPは外の道具やデータにつなぐもの、スキルはその使い方などの知識を足すもの」です。MCPの基本は、次の記事にまとめています。

関連記事広げるClaude Code MCPの追加・設定方法|claude mcp addの手順、.mcp.jsonの場所、おすすめサーバーClaude CodeでMCPサーバーを追加・設定する方法を公式ドキュメントにそって説明します。claude mcp addの手順とスコープ、設定ファイルの場所と書き方、.mcp.jsonの承認、目的別のおすすめと実例、MCPとSkillsの違い、MCPの欠点、自作とセキュリティ、うまくいかないときの直し方まで。

圧縮やクリアのあとも残るか

会話を/compactで圧縮しても、プロジェクトのルートのCLAUDE.mdは、Claudeが読み直して、また文脈に入れます。会話の中だけで伝えた指示は、圧縮で消えることがあります。 残したい指示は、CLAUDE.mdに書きます(公式のトラブル対応)。

圧縮とクリアの使い分けは、用語集の/compactと/clearにあります。コマンド全体は、次の記事を見てください。

関連記事使い方Claude Codeのコマンド一覧|スラッシュコマンド・CLI・更新コマンドの使い方Claude Codeで使えるコマンドを一覧で解説。まず覚える10個、目的別のスラッシュコマンドの一覧、/goal・/loop・/btw・/designの使い方、ターミナルで打つCLIのコマンド、インストールと更新(claude update)のコマンド、ショートカット、自分でコマンドを作る方法までまとめます。

設定ファイル全体との関係は、設定の記事にまとめています。

関連記事設定と CLAUDE.mdClaude Codeの設定|settings.jsonの場所・おすすめ設定・MCP・環境変数Claude Codeの設定は、ユーザー、プロジェクト、ローカルのsettings.jsonを編集して変えます。場所と優先順位、初期設定、おすすめの設定例、MCP、出力スタイル、権限、環境変数、学習に使われない設定、日本語、VS Codeまで公式仕様に沿って解説します。

パソコンのメモリ(RAM)を使いすぎるとき

「Claude Codeのメモリ不足」「メモリ使用量が多い」と言うときは、ここまでのメモリではなく、パソコンのメモリ(RAM)の話です。公式の動作環境は、4GB以上のRAMです。

公式のトラブル対応によると、大きなコードベースを扱うと、多くのメモリやCPUを使うことがあります。重いときの手順は次のとおりです。

  1. /compactをこまめに実行して、会話の量を減らす
  2. 大きな作業の切れ目で、Claude Codeを閉じて起動し直す
  3. 大きなビルドのフォルダを.gitignoreに入れる
  4. claude --safe-modeで起動し直し、プラグイン、MCPサーバー、Hooksのどれかが原因かを確かめる

1つの会話のメモリ(ヒープ)が2.5GBを超えると、警告が出ます。Claude Codeを閉じてからclaude --continueで起動すると、同じ会話を新しいプロセスで続けられます。フルスクリーン表示でなければ、/compactでもメモリが空きます。

メモリリークを疑うとき

上の手順でも使用量が高いままなら、/heapdumpを実行します。コマンドの一覧には出ないので、最後まで打ち込みます。デスクトップ(デスクトップのフォルダがないLinuxではホームフォルダ)に、2つのファイルが書き出されます。

  • .heapsnapshotのファイル 会話の中身や認証情報まで入るので、人に渡さない
  • -diagnostics.jsonのファイル 要約の元になる統計で、会話や認証情報は入らない

会話の中にも、全体のメモリの量や、増え方が速いといったリークの兆しをまとめた要約が出ます。報告するときは、GitHubのIssueに-diagnostics.jsonだけを付けます。既知の不具合も、このリポジトリで探せます。

重いときの対処は、トラブル対応の記事にもまとめています。

関連記事入れる・困ったときClaude Codeのログイン・更新の直し方|ログインできない・command not found・エラー別の対処Claude Codeのログイン・認証が終わらない、command not foundになる、アップデートやバージョンの確かめ方、動作が遅い、API Errorが出るときの直し方を症状別にまとめます。

よくある質問

Claude Codeのメモリとは何ですか?

会話をまたいで知識を引き継ぐ仕組みです。自分で書くCLAUDE.mdと、Claudeが自分で書く自動メモリの2つがあります。どちらも、会話の開始時に読み込まれます(サブフォルダのCLAUDE.mdは、そのフォルダを扱うとき)。

メモリを見たり直したりするには?

/memoryを実行します。CLAUDE.mdなどの一覧が出て、選ぶとエディタで開きます。自動メモリのフォルダを開いたり、オンとオフを切り替えたりもできます。

自動メモリが勝手に保存した内容を消せますか?

消せます。保存先は~/.claude/projects/<project>/memory/のふつうのMarkdownなので、/memoryから開いて直すか、ファイルを消します。

CLAUDE.mdと自動メモリは、どちらに書けばいいですか?

チームで守るルールや手順は、CLAUDE.mdに自分で書きます。あなたの好みや直された内容は、自動メモリにClaudeが書きます。「これをCLAUDE.mdに追加して」と頼めば、CLAUDE.mdに入れられます。

スキルとメモリは、どう使い分けますか?

毎回知っていてほしい決まりはCLAUDE.mdに、たまにしか要らない資料や呼び出す手順はスキルに置きます。スキルは、使うときだけ中身が読み込まれます。

Claude Codeがパソコンのメモリを使いすぎるときは?

/compactを実行するか、Claude Codeを閉じてclaude --continueで続けます。それでも高いままなら、/heapdumpの結果のうち-diagnostics.jsonだけを付けて、GitHubのIssueで報告します。

#で始めて覚えさせることはできますか?

2026年10月26日時点の公式のメモリの説明には、書かれていません。「覚えておいて」と頼めば自動メモリに、「CLAUDE.mdに追加して」と頼めばCLAUDE.mdに入ります。