CursorのコンテキストがClaude Codeに引き継がれない理由
各ツールが保存するもの
Cursorは、リポジトリにコミットされたルール(.cursor/rules/、レガシーな.cursorrules)に加えて、ローカルのセッションメモリや生成されたMemoriesにコンテキストを保持します。一方、Claude Codeは起動時にCLAUDE.mdファイルを読み込み、コードベースに基づいて動作し、セッションコンテキストをそのウィンドウ内に保持します。静的なルールは双方に大まかな対応物がありますが、動的な理解(決定事項、修正、蓄積されたプロジェクトの知識)には共有の場所がありません。
移行できない技術的な理由
ルールは単なるテキストであるため、.cursor/rules/をCLAUDE.mdに手動で翻訳することは可能です。しかし、Cursorのセッションメモリはローカルのアプリ状態に保存されており、エクスポート機能はありません。また、Claude Codeにはそれをインポートする機能もありません。そのため、Cursorを本当に便利にしていた部分(書かれたルールを超えて学習したすべての内容)は引き継がれません。Claude Codeは、コードからゼロから独自の理解を再構築します。
これによるコスト
以前のツールがすでに理解していたコードベースに対して、エージェントを再オンボーディングすることになります。同じ規約を再表明し、同じ決定を再説明し、同じ修正を繰り返すことになります。Cursorのセッションメモリにのみ存在し、ルールファイルに書き出されなかったものはすべて失われます。また、一部の作業でCursorを使い続ける場合、2つのツールのプロジェクトに対する理解はすぐに乖離してしまいます。
ステップ・バイ・ステップ:手動でCursorからClaude Codeへ移行する
ネイティブなルートは手動ですが、本質的な部分は移行できます。
ステップ 1: Cursorが保持しているものを抽出する
.cursor/rules/*.mdcおよびレガシーな.cursorrulesの内容をコピーします。- このプロジェクトに対するCursorのMemoriesを確認し、保持する価値のある蓄積された事実をコピーします。一括エクスポートはないため、これは手動で行います。
- 頭の中や過去のチャットには存在するものの、ルールファイルには書き出されなかった決定事項や規約をメモします。
ステップ 2: Claude Codeをセットアップする
- リポジトリのルートに
CLAUDE.mdを作成または更新し、Cursorのルールから翻訳した規約を記述します。 - 回収したMemoriesや決定事項を
CLAUDE.mdまたはClaude Codeが読み取るドキュメントファイルに追加します。 - Cursorで依存していたMCPサーバーを、Claude CodeのMCP設定に再追加します。
これで翻訳されたベースライン(CLAUDE.mdとして書き直されたルールと、回収できたコンテキスト)が手に入ります。セッション履歴の転送はなく、Cursorを使い続ける場合、ここにあるものはCursorと同期されません。
移行できないもの
ルールファイルに到達しなかったCursorのセッションレベルの理解。過去のCursorセッションの会話履歴。そして、この同期は1回限りです。来月CLAUDE.mdを洗練させても、まだCursorを使っているチームメイトには反映されません。また、3つ目のツールを追加する場合は、再度コンテキストを翻訳する必要があります。これは、切り替える瞬間に現れるマシン間およびツール間のコンテキストのギャップです。
より良い方法:両方のエージェントで1つのメモリレイヤーを共有する
移行が難しいのは、コンテキストが各ツールの中に閉じ込められているからです。コンテキストを中立なレイヤーに引き上げれば、CursorとClaude Codeは同じソースを読み取ることができます。MemoryLakeは、規約、アーキテクチャ、決定事項を一度保存し(Gitスタイルのバージョン管理、エンドツーエンドの暗号化)、MCPを介して両方のエージェントに提供します。そのため、切り替えは再構築ではなく、単なる接続になります。
| 項目 | 手動での Cursor → Claude Code | MemoryLake レイヤー |
|---|---|---|
| 必要なステップ | ルールの翻訳 + メモリの回収 | 3(初回のみ) |
| 動的なプロジェクト理解 | ほとんどが失われる | 保持され、検索可能 |
| 段階的な移行中に同期を維持 | いいえ | はい |
| 将来的に3つ目のエージェントに対応 | 再度翻訳が必要 | 接続するだけ |
| 決定事項のバージョン履歴 | いいえ | はい(Gitスタイル) |
ステップ 1: APIキーを作成する
MemoryLakeにサインインし、キーを生成して最初のリクエストを送信します。約30秒で完了します。

ステップ 2: 最初のメモリをアップロードする
両方のエージェントが必要とするプロジェクトの知識(規約、アーキテクチャのメモ、決定事項、参照ドキュメントなど。ドキュメント、画像、その他のファイルすべてに対応)を、1つのツールのルール形式に閉じ込めることなく投入します。

ステップ 3: AIとエージェントを接続する
両方のツールはMCPに対応しています。APIキーを使用して、Claude CodeのMCP設定および.cursor/mcp.jsonにMemoryLakeを追加します。段階的な移行中も、どちらのエージェントも遅れをとることはありません。また、同じメモリはMCPまたはAPIを介してCodex、OpenClaw、その他のエージェントでも利用できるため、次のツールも接続するだけで済みます。

エージェントの再オンボーディングに実際にかかるコスト
切り替えの税金
コーディングエージェントを移行するということは、前のエージェントがすでに知っていたコードベース(規約、決定事項、修正など)を手動で再教育することを意味します。従量課金制のエージェントでは、新しいgrepと再構築により、実際の作業が始まる前に再発見のためにトークンが消費されます。
再オンボーディングの代わりに検索を利用する
共有レイヤーを使用すると、Claude Codeはプロジェクトの規約や決定事項を再構築するのではなく、オンデマンドで取得するため、初日から情報を把握した状態で開始できます。より安価で高速であり、後で元に戻したりツールを追加したりするコストもかかりません。MemoryLakeのToken Saving Calculatorは、あなたの使用状況からその効果を予測します。
クロスエージェントメモリのベストプラクティス
動的なコンテキストはレイヤーに、規約はリポジトリに配置する
安定したルールは各ツールが読み取るCLAUDE.md / .cursor/rules/に保持し、動的なコンテキスト(決定事項、解決済みの問題、プロジェクトの理解)は共有メモリに保持します。それぞれを適切な場所に配置します。
切り替える前に回収する
Cursorのセッションメモリは消失する部分です。Claude Codeに移行する前に共有レイヤーにキャプチャしておくことで、切り替え時に何も失われません。
リポジトリごとにスコープを設定する
リポジトリごとに1つのメモリ・スコープを設定することで、両方のエージェントのコンテキストを正確に保ち、あるプロジェクトの規約が別のプロジェクトに混入するのを防ぎます。
結論
CursorとClaude Codeはどちらも優れたパフォーマンスを発揮しますが、両者の間を移行することは手動での再構築を意味します。そして、セットアップを優れたものにしていた蓄積された理解こそが、エクスポートできない部分です。代わりにそのコンテキストを共有メモリレイヤーに保持すれば、切り替えは単なる接続になります。両方のエージェントが同じ規約と決定事項を読み取り、同期が維持され、次に採用するツールへの準備も整います。一度移行すれば、すべてのエージェントでメモリを共有できます。