なぜセッションはチャットなしで開始されるのか
Claude Code のドキュメントのメモリに関するページは、次のような明確な記述から始まっています。「各 Claude Code セッションは、新しいコンテキストウィンドウで開始されます。2 つのメカニズムがセッション間で知識を引き継ぎます。」それらは以下の通りです。
- 「CLAUDE.md ファイル:Claude に永続的なコンテキストを提供するために記述する指示。」
- 「自動メモリ(Auto memory):ユーザーの修正や好みに基づいて Claude 自身が書き込むメモ。」
どちらもファイルです。CLAUDE.md はリポジトリまたはホームフォルダに配置され、自動メモリはコンピュータ上のディレクトリに保存されます。ドキュメントにはそれぞれがどこから読み込まれるかが記載されていますが、どちらの場所も Claude Code 側にあります。
Claude チャットのメモリは仕組みが異なります。Anthropic のメモリに関する記事には「Claude はチャットを進めるにつれて、メモリを個別のトピックのセットとして保存します」とあり、クラウド上のチャットと Claude Cowork の間で共有される 1 つのメモリについて説明されています。Claude Code のメモリドキュメントでは CLAUDE.md と自動メモリについて説明されていますが、チャットのメモリやチャット履歴をセッションに読み込むことについては記載されていません。何かをコピーして移行するまでは、この 2 つは別物として扱う必要があります。
プロジェクトについても同様です。Claude Code にはクラウド作業用の独自の Projects 機能が追加されましたが、ドキュメントでは従来の機能と区別されています。「claude.ai チャットおよび Cowork におけるプロジェクト:スレッドやコーディネーターなしで会話と参照ファイルをグループ化する、以前のプロジェクト体験。」チャットで構築したプロジェクトは、Claude Code のプロジェクトとは異なるものです。
この 2 つが共有しているのはプラン(利用制限)です。Pro または Max プランで Claude Code を使用することに関する Anthropic の記事には、「これらの制限は Claude と Claude Code で共有されるため、両方のツールでのすべてのアクティビティが同じ制限に対してカウントされます」と記載されています。
チャットの各要素は Claude Code のどこに配置すべきか
有益なチャットには、いくつかの種類のコンテキストが含まれています。それぞれに、Claude Code における最適な配置場所があります。
コードベースに関する決定事項と規約
これらはプロジェクトの CLAUDE.md(./CLAUDE.md または ./.claude/CLAUDE.md)に記述します。ドキュメントでは「プロジェクト用のチーム共有の指示」と説明されており、例として「プロジェクトのアーキテクチャ、コーディング標準、一般的なワークフロー」が挙げられています。チャットでエラー処理の方法、日付に使用するライブラリ、フォルダ構成の意味などが決定された場合、それはプロジェクトの CLAUDE.md に記載すべき内容です。
そこに何を含めるべきかについての Anthropic のアドバイスは、「CLAUDE.md は、そうでなければ何度も説明し直さなければならないことを書き留めておく場所として扱ってください」というものです。また、サイズについては「CLAUDE.md ファイル 1 つあたり 200 行未満を目標にしてください」とされています。
個人の好み(環境設定)
すべてのプロジェクトに適用される好みは、ドキュメントで「すべてのプロジェクトに対する個人の好み」と呼ばれる ~/.claude/CLAUDE.md に記述します。コミットしたくない特定のプロジェクトに対する好みは、./CLAUDE.local.md(「個人用のプロジェクト固有の好み。.gitignore に追加してください」と説明されています)に記述します。
チャットのメモリが「小さなコミットを好む」ことや「コードの前に説明が欲しい」ことを記憶している場合、それはここに配置します。
コードからは取得できない背景情報
議論した内容の中には、リポジトリには現れないものもあります。特定のアプローチを却下した理由、締め切り、サービスの担当者などです。Claude Code の自動メモリは、このようなメモのために構築されています。ドキュメントには、保存されるタイプとして「プロジェクト:進行中の作業、締め切り、および Claude がコードや git 履歴から導き出せない決定事項」が挙げられています。
また、Claude Code に何かを保存するように指示することもできます。事実を記憶するように求めると、自動メモリに保存されます。代わりに指示を CLAUDE.md に含めたい場合は、直接そう指示するか、自分でファイルを編集してください。
自動メモリには、依存する前に知っておくべき制限があります。
- 「自動メモリはマシンローカルです。」
~/.claude/projects/<project>/memory/に保存され、「ファイルはマシン間やクラウド環境間で共有されません。」 - 「
MEMORY.mdの最初の 200 行、または最初の 25KB のうち、いずれか早い方がすべての会話の開始時に読み込まれます。」トピックファイルは、Claude が必要としたときに読み込まれます。 - 「Claude は、アーキテクチャ、ファイルパス、デバッグの修正など、コードベースから導き出せるものはすべてスキップします。また、CLAUDE.md ファイルにすでに記載されている内容もスキップします。」
したがって、複数のコンピュータで作業する場合やクラウドセッションを使用する場合は、重要な内容は自動メモリではなく CLAUDE.md に記述してください。our guide to why Claude Code forgets across machines(Claude Code がマシン間で記憶を忘れる理由に関するガイド)で、そのギャップについて解説しています。
長い参照資料
チャットでの仕様書、調査メモ、長い説明などは、CLAUDE.md のコンテンツとして記述するよりも、docs/ 配下のドキュメントなど、リポジトリ内のファイルとして保存する方が適しています。Claude は必要なときにそれらを読み込むことができ、CLAUDE.md からそれらを参照できます。ドキュメントには「CLAUDE.md ファイルは @path/to/import 構文を使用して追加のファイルをインポートできます」と記載されています。これらのファイルは、インポート元の CLAUDE.md と一緒に起動時に読み込まれるため、すべてのセッションで必要なものだけをインポートするようにしてください。
ワークツリー、他のコンピュータ、またはクラウドセッションを使用する場合
Claude Code を実行する場所によって、セッションが参照するファイルが変わります。プロジェクトの CLAUDE.md はリポジトリとともに移動するため、すべてのクローンとすべてのワークツリーに存在します。自動メモリは、1 台のコンピュータ上の 1 つのリポジトリ内で共有されます。「同じ git リポジトリ内のすべてのワークツリーとサブディレクトリは、1 つの自動メモリディレクトリを共有します。」
注意が必要なのは CLAUDE.local.md です。ドキュメントには「gitignored された CLAUDE.local.md は、それを作成したワークツリーにのみ存在します」と記載されています。複数のワークツリーで作業する場合は、個人の指示はユーザーファイル(~/.claude/CLAUDE.md)に保持するようにしてください。our guide to what each Claude Code worktree session loads(各 Claude Code ワークツリーセッションが読み込むものに関するガイド)で詳細を解説しています。
リポジトリで他のコーディングツール用にすでに AGENTS.md を使用している場合、Claude Code はそれを読み込むことができます。our guide to moving CLAUDE.md to AGENTS.md(CLAUDE.md を AGENTS.md に移行するガイド)で、この 2 つのファイルがどのように連携するかを説明しています。
多くの人が最初に試して失敗すること
チャット全体を最初のメッセージに貼り付ける。 そのセッションにはコンテキストが引き継がれますが、次のセッションは新しいコンテキストウィンドウで開始されるため、貼り付けた内容は古いトランスクリプトの中に残るだけになります。
Claude Code に Claude のメモリを参照するように求める。 ドキュメント化されているメモリは CLAUDE.md と自動メモリのみです。必要な内容はどちらかのファイルにコピーしてください。
エクスポートしたメモリ全体を CLAUDE.md にコピーする。 CLAUDE.md はすべてのセッションで読み込まれます。Anthropic は各ファイルを 200 行未満に抑えることを推奨しています。リポジトリに必要な内容だけを移動してください。
自動メモリが自然に学習するのを待つ。 ドキュメントには「Claude は毎セッション何かを保存するわけではありません。将来の会話で役立つ情報かどうかに基づいて、記憶する価値があるかどうかを判断します」とあります。重要な決定事項であれば、CLAUDE.md に書き込むか、Claude に記憶するように明示的に指示してください。
CLAUDE.md を Claude が必ず従わなければならないルールとして扱う。 Anthropic は「Claude はこれらを強制的な設定ではなく、コンテキストとして扱います」と述べています。具体的で短い指示の方が、長い指示よりも一貫して従われやすくなります。
Claude Code の Projects でチャットのプロジェクトを探す。 これらは異なる機能です。プロジェクトの指示やファイルから、必要なものを再構築してください。
手動での移行手順
ステップ 1: Claude チャットからコンテキストを抽出する
現在も依存している会話から始めます。それぞれの会話を開き、そこで確立された決定事項、理由、制約事項の短い要約を作成します。そのチャット内で Claude に要約のドラフトを作成させ、実際に合意した内容になるように編集することもできます。
次に、Claude があなたについて保存しているメモリをエクスポートします。メモリのエクスポートに関する記事には、チャットで使用するプロンプトが紹介されています。「私のメモリを、あなたのメモリに表示されている通りに一言一句正確に書き出してください。」結果をテキストファイルに保存します。また、[設定] > [メモリ] でメモリを確認することもできます。Anthropic によると、「Claude が記憶しているすべての内容は [トピック] の下にリストされています」とのことです。
履歴の完全なコピーを取得するには、データエクスポートを使用します。Anthropic は「個々の Claude ユーザーは、ウェブアプリまたは Claude Desktop の [設定] > [プライバシー] から、ユーザー情報とチャット履歴をエクスポートできます。iOS または Android 用の Claude からエクスポートを実行することはできません」と述べています。ダウンロードリンクはメールで届き、「配信後 24 時間で期限切れになります」。our guide to reading your Claude data export(Claude のデータエクスポートを読み解くガイド)で、その中身について解説しています。
作業がチャットプロジェクト内で行われていた場合は、プロジェクトの指示をテキストファイルにコピーし、ナレッジファイルが手元にあることを確認してください。
ステップ 2: 各要素を Claude Code が読み込む場所に配置する
要約を確認し、各ポイントを分類します。
- コードベースとチーム全体に適用されるもの: プロジェクトの CLAUDE.md に追加します。各行は短く具体的に保ちます。
- あらゆる場所で自分自身に適用されるもの:
~/.claude/CLAUDE.mdに追加します。 - このリポジトリ内でのみ自分自身に適用されるもの:
./CLAUDE.local.mdに追加します。 - コードから導き出せない背景情報: Claude Code に記憶するように指示するか、すべてのマシンで必要な場合は CLAUDE.md に追加します。
- 長い参照資料: ドキュメントとしてコミットし、CLAUDE.md から参照させます。
Claude がコードから読み取れる内容は除外します。その後、新しいセッションを開始して /memory を実行します。ドキュメントによると、このコマンドは「ユーザーおよびプロジェクトのスコープ全体にわたる CLAUDE.md、CLAUDE.local.md、およびその他のメモリファイルの場所をリストします」。移行した決定事項の 1 つについて Claude に何を知っているか尋ね、回答が一致していることを確認します。
より良い方法:チャットでの決定事項を両方から使える 1 つのリストにまとめる
手動での移行は、1 回限りの移行には有効です。しかし、問題はそれが維持されないことです。チャットは「声に出して考える」のに最も適した場所であるため、今後もチャットで議論を続けることになり、新しい決定事項があるたびに再びリポジトリにコピーする必要があります。その間、自動メモリは 1 台のコンピュータに留まり、チャットのメモリはアカウント内に留まります。
MemoryLake は、これらの決定事項を管理する 1 つのリストに保持し、Claude Code や、接続する他のアシスタント(ChatGPT や Codex など)から利用できるようにするためのメモリレイヤーです。
エントリーはあなた自身の言葉で記述します。Claude チャット、Claude メモリ、CLAUDE.md ファイル、自動メモリフォルダ、またはベンダーのストアから何かが読み取られたり、書き込まれたり、削除されたりすることはありません。業務用のリポジトリについては、リポジトリの外部に保持するものに関する組織のポリシーに従ってください。
ステップ 1: API キーを作成する
サインインし、ダッシュボードからキーを生成します。このキーは MemoryLake ワークスペースに属し、Claude アカウントとは別個のものです。

ステップ 2: 最初のメモリをアップロードする
手動移行のステップ 1 で作成した要約(チャットで決定した事項、制約、規約)から始めます。1 エントリーにつき 1 つのポイントを、日付と適用先リポジトリのラベルを付けて登録します。

ステップ 3: AI とエージェントを接続する
Claude Code や、使用している他のアシスタントを接続します。Claude Code を実行するすべてのコンピュータや、接続した他のツールで、同じエントリーを利用できるようになります。

実務における変化
最初の違いは、リポジトリでの最初の Claude Code セッションが、チャットで決定した内容をすでに把握していることです。アーキテクチャ、規約、制約事項が最初から存在し、再発見する必要がありません。
2 つ目は、どのファイルに何が保持されているかが明確になることです。チームのルールはプロジェクトの CLAUDE.md に、個人の好みはユーザーファイルに、背景情報は自動メモリまたは独自のリストに保存されます。
3 つ目は、チャットでの次の決定事項が取り残されないことです。一度追加すれば、次にリポジトリを開いたときにそこから利用できます。
Claude チャットの作業を Claude Code に移行するためのベストプラクティス
移行する前に会話を要約する。 トランスクリプト(書き起こし)をそのまま移行するよりも、決定事項とその理由をまとめる方がはるかに有用です。
チームのルールはプロジェクトの CLAUDE.md に記述する。 ソース管理を通じて共有されます。
個人の好みはユーザーファイルに記述する。 ~/.claude/CLAUDE.md はすべてのプロジェクトに適用されます。
コミットしない好みには CLAUDE.local.md を使用する。 .gitignore に追加してください。
コンピュータ間で自動メモリに依存しない。 自動メモリはマシンローカルです。our guide to why Claude Code forgets project context(Claude Code がプロジェクトのコンテキストを忘れる理由に関するガイド)で、その他のギャップについて解説しています。
CLAUDE.md は短く保つ。 Anthropic は 1 ファイルあたり 200 行未満を推奨しています。
移行後に /memory で確認する。 期待するファイルがリストされていることを確認します。
まとめ
Claude チャットと Claude Code はアカウントとプランを共有していますが、コンテキストを保持する場所が異なります。チャットはアカウント内にメモリを保持します。Claude Code は CLAUDE.md ファイルと独自の自動メモリを読み込み、各セッションは新しいコンテキストウィンドウで開始されます。
チャットを移行するには、そこで確立された内容を要約し、メモリをエクスポートして、各ポイントを Claude Code が読み込む場所に配置します。チームのルールはプロジェクトの CLAUDE.md に、好みはユーザーファイルに、背景情報は自動メモリまたはコミットするファイルに配置します。最後に /memory で結果を確認してください。