MemoryLake
Back to all articles
TutorialMay 25, 20266 min read

How to Migrate Claude Code Memory to Claude: 2026 Updated Guide

Claude Code lives in your terminal; the Claude chat product lives in a browser or Desktop client. Same model, different memory surface. Here's how `CLAUDE.md`, slash commands, and MCP-backed context land inside Claude Projects.

The short answer

Claude Code does not push memory to Claude chat automatically. You'll copy each repo's CLAUDE.md (and the relevant parts of ~/.claude/CLAUDE.md) into a Claude Project's System Prompt, upload key repo docs as Project Knowledge, and translate slash commands into Project Knowledge text. Plan 15–25 minutes per repo. A shared MCP-based memory layer like MemoryLake lets both clients read the same source.

Why people move from Claude Code to Claude chat

Three drivers in 2026:

  • High-level design discussion. Long-form architecture conversations often feel better in a chat UI.
  • Cross-device access. The Claude chat product runs anywhere; Claude Code requires a terminal.
  • Sharing with non-developers. Teammates without CLI familiarity can join a chat-based Project.

What "memory" means in Claude Code vs Claude

Same model, different surfaces.

Claude Code memory centers on `CLAUDE.md` at the repo root, `~/.claude/CLAUDE.md` (user-global), custom slash commands under .claude/commands/, and MCP servers configured in Claude Code settings.

Claude (chat) memory lives inside Projects. Each Project has its own Project Knowledge (uploaded files and pasted text) and an optional System Prompt.

A CLAUDE.md becomes a Project System Prompt. Repo docs/ becomes Project Knowledge. Slash commands become Project Knowledge text or reference prompts.

Step 1: Export your Claude Code memory

Claude Code stores everything as plain files.

  1. Read the repo's `CLAUDE.md`. Copy contents into a working text file.
  2. Read `~/.claude/CLAUDE.md`. Copy global guidance into user-guidance.txt.
  3. *List `.claude/commands/.md.** Bundle them into a slash-commands.md`.
  4. Identify MCP servers in use. Note name, endpoint URL, and authentication for each.

End state: a claude-code-export/ folder per repo with CLAUDE.md, user-guidance.txt, slash-commands.md, and mcp-list.md.

Step 2: Import into Claude (chat)

Claude expects per-Project Knowledge.

  1. Create a Project per repo. Open Projects → Create Project. Name it after the repo.
  2. Paste `CLAUDE.md` as the System Prompt. Adjust for chat — paths and CLI references should read clearly without the terminal context.
  3. Upload repo docs as Project Knowledge. Click Add Content → Upload Files. Attach README.md, ADRs, style guides, and similar.
  4. Add slash-commands.md as Project Knowledge text. Paste the bundle so Claude can pull from it on request.
  5. Decide where user-global guidance goes. Repeat it across each relevant Project — Claude has no global Memory layer.
  6. Re-add MCP servers. Open Claude Desktop's MCP config and add MCP servers from mcp-list.md.
  7. Probe. Open the Project and ask a question that depends on a moved rule.

What you'll still lose after migrating

  • Terminal-native execution. You're now in a chat UI; the run-and-edit loop is different.
  • Slash command invocation. /<name> shortcuts don't translate; you reference prompts in conversation instead.
  • Per-client chat history. Claude Code sessions stay in the terminal.
  • Ongoing sync. New CLAUDE.md edits next week won't appear in the Project unless you redo the copy.

The better way: one memory layer, every Claude surface

If you use Claude Code for shipping and Claude chat for discussion, per-tool drift starts immediately.

MemoryLake holds those rules once and exposes them through MCP. Both clients support MCP, so the same project context flows into both from a single endpoint.

  • One source of truth. Update once; both surfaces see the change.
  • Cross-repo standards. Team conventions live above any single repo.
  • Drop-in for the next tool. Add Cursor or Windsurf with a config change.

Connect MemoryLake in 3 steps

Step 1: Create a project and load your context

Sign in to MemoryLake, open Project Management, and click Create Project. Name it "Claude Code ↔ Claude shared context." Drag reference docs (PDF, Word, Excel, PowerPoint, Markdown, or images) into the Document Drive under My Space, then open the Documents Tab and click Add Documents. Paste your CLAUDE.md, user guidance, and slash command bodies into the Memories Tab via Add Memory.

Step 1: Create a project and load your context
Step 1: Create a project and load your context

Step 2: Generate an MCP Server endpoint

Open the MCP Servers Tab inside the project, click Add MCP Server, describe it (e.g., "Claude Code + Claude bridge"), and click Generate. MemoryLake returns a Key ID, a Secret, and an Endpoint URL. Copy the Secret immediately — it is shown only once.

Step 2: Generate an MCP Server endpoint
Step 2: Generate an MCP Server endpoint

Step 3: Point both clients at the endpoint

In Claude Code's settings, add a MemoryLake MCP server with the endpoint URL and the Secret as a Bearer token. Add the same MCP server to Claude Desktop's MCP config and restart Claude.

Step 3: Point both clients at the endpoint
Step 3: Point both clients at the endpoint

Native migration vs MemoryLake

DimensionNative Claude Code → ClaudeMemoryLake bridge
Steps required7–10 manual3 one-time
Estimated time15–25 min per repo~5 min setup
Preserves repo boundaryPer-Project onlyYes (one Project)
MCP tool reuseConfigure per clientEndpoint shared
Syncs ongoing changesNoYes
Works with a third tool laterNo (rebuild)Yes (add MCP)

Frequently asked questions

Can I open a `CLAUDE.md` directly inside the Claude chat product?

No. You paste the contents into a Project's System Prompt by hand.

Do my slash commands become chat shortcuts?

No. Reference them as prompts in conversation, or keep a Project Knowledge file of them.

Will Claude inherit my Claude Code MCP servers?

No. Each MCP server is configured per client. Add to Claude Desktop's MCP config.

How long does the migration usually take?

Plan 15–25 minutes per repo, longer when many slash commands or MCP servers need rewiring.

How do I keep Claude Code and Claude in sync after migrating?

Connect both clients to a shared MemoryLake Project via the MCP Server endpoint so updates propagate to both.