The short answer
Claude forgets project knowledge because Projects load files via retrieval (RAG) rather than dropping every file into the context window — only the chunks Claude thinks are relevant make it into each turn. Files cap at 30MB each, and Claude's Memory feature stores short summaries that update every 24 hours. The fix is to add a precise, project-scoped memory layer Claude can query alongside its own.
Why Claude forgets project knowledge
Claude Projects look like a knowledge base. Under the hood, they are a retrieval system, and three details cause the forgetting.
1. Projects use RAG, not full-context loading. When you ask a question, Claude searches your project's files for relevant passages and inserts only those into context. The rest of the document is not "in Claude's head" the way the UI suggests. If your phrasing does not match what the retriever indexed, the right passage is never pulled.
2. Per-file caps and active context limits. Anthropic supports up to 30MB per file in Project knowledge with no hard count cap, but the effective usable content per turn is bound by Claude Sonnet 4.6 / Opus 4.7's context window. Beyond that, retrieval has to choose, and choices get made silently.
3. Memory is summarized, not transcribed. Claude's Memory feature, available on Pro, Max, Team, and Enterprise plans, builds a synthesis of key insights across chat history that refreshes every 24 hours. It is a summary, not a transcript, so detailed project facts get compressed.
The end state: Claude has "seen" your project, but cannot recall every clause on demand. The retrieved slice is what it knows.
What you lose when Claude forgets project knowledge
A project where Claude cannot recall details on command is a project where you stop trusting Claude:
- Specific clauses go missing. "What does section 4.2 of the MSA say about termination" gets a soft answer or "I don't see that section", even though the file is loaded.
- Cross-file reasoning breaks. When the spec contradicts the brief, Claude needs both passages in the same turn. Retrieval might pull only one, so the contradiction goes unnoticed.
- Knowledge stops compounding. Decisions made in chat are summarized into Memory every 24 hours, which means yesterday's nuance becomes today's paraphrase, and last week's becomes a single line.
The cure is not "upload bigger files". The cure is to pair Claude's native retrieval with a precise, verbatim memory you can query at exact granularity.
Claude's built-in workarounds (and where each falls short)
Anthropic has shipped three real memory features. None of them eliminate the forgetting.
Projects support large knowledge bases with retrieval over your files (PDFs, DOCX, CSV, and more). Useful for keeping related chats in one place. Limited because retrieval is heuristic — Claude decides what to surface — and you cannot see what it skipped.
Memory (Pro / Max / Team / Enterprise) synthesizes a summary of past chats, updated roughly every 24 hours. Good for stable preferences and high-level continuity. Not designed to carry every project fact verbatim, and reset wipes everything including project memory.
Incognito chats let you bypass Memory entirely. Useful for privacy. The opposite of what you want when you actually need durable knowledge.
You can read Anthropic's own write-up of how Memory works in their official help center article on Claude memory.
For a single product on a single model, the natives are useful. For a project you treat as a system of record, they are not enough.
Where Claude's built-in memory falls short
Project knowledge in Claude lives inside Anthropic's tool. The minute you ask ChatGPT a question, draft in Gemini, or vibe-code in Cursor, that knowledge is gone. You re-upload the same brief into the next tool, and now you have two sources of truth drifting apart.
The deeper fix is a project knowledge layer that lives above the tool — Claude reads from it, ChatGPT reads from it, Cursor reads from it — so the project is the unit of memory, not the chat.
How MemoryLake fixes Claude forgetting project knowledge
MemoryLake sits above Claude as a precise, verbatim memory store with Git-style audit trails.
- Verbatim project facts, not summaries. Fact Memory stores clauses, decisions, and source quotes exactly as captured, with timestamps and source links. Ask for section 4.2 of the MSA and you get the literal text back, not a paraphrase.
- Conflict detection across documents. When two files disagree, MemoryLake flags the contradiction instead of letting RAG silently surface one and hide the other. You see the conflict in your retrieval results.
- Native MCP support in Claude Desktop. Drop the MemoryLake MCP endpoint into Claude Desktop's config and Claude reads from your project memory on every turn, alongside its own Projects knowledge.
MemoryLake holds the top published LoCoMo long-context score (94.03%), retrieves in milliseconds, and runs AES-256 end-to-end encryption — you own the data, even MemoryLake cannot read it.
Connect MemoryLake to Claude in 3 steps
- Create a project and load your knowledge. Sign in to MemoryLake, open Project Management, click Create Project, name it ("Claude — Q2 product spec"), and upload your briefs, specs, contracts, and reference docs to the Document Drive. PDF, Word, Excel, PowerPoint, Markdown, and images are all parsed by the MemoryLake-D1 engine. Add structured facts and decisions as named entries in the Memories tab.
- Generate an MCP Server endpoint. Open the MCP Servers tab inside the project, click Add MCP Server, name it "Claude Desktop integration", and click Generate. MemoryLake returns an API key ID, secret, and endpoint URL. Copy the secret immediately — it is shown only once.
- Connect Claude. Claude Desktop supports MCP natively: paste the MemoryLake endpoint URL and Bearer token into
claude_desktop_config.jsonunder your MCP servers, then restart Claude Desktop. Claude.ai in the browser does not yet support MCP, so for browser sessions, use the REST API with your Bearer token or paste a short system prompt that points Claude to your MemoryLake project ID.