Features · agent memory · July 2026
How to give Claude Code memory that lasts.
The built-in answer is a file called CLAUDE.md, plain markdown Claude Code reads at the start of every session. Used well, it's the single highest-leverage thing you can do for an agent. But it stops at the edge of one repo, and it's shaped like a path: reorganize your project and the memory quietly goes wrong. Here's how to use it well, and the machine-wide layer that picks up where it stops.
TL;DR · key takeaways
CLAUDE.md is the built-in memory. Plain markdown Claude Code reads at the start of every session. The highest-leverage thing you can set up, and the right home for project rules.
But it stops at one repo. It's keyed to a path, so reorganizing the tree rots the references, and it never reaches the roughly 90% of your disk that was never in git.
A machine-wide vault picks up where it stops. Keyed to each file's OS identity, it spans every repo plus the non-git files, survives any rename or move, and is read and written by every agent you run.
No LLM, and 100% local. It seeds itself from your git history with zero model guesses; a note is searchable in about a millisecond, and at rest the whole engine sits around 44 MB.
Use both. Keep CLAUDE.md for repo rules; add the vault for memory that moves with your files. Everything local is free, forever: the app, whole-machine search, MCP. Hosting starts at $5.99/mo.
Step one · do this first
Start with CLAUDE.md. Most people never use it well.
Memory in Claude Code isn't a hidden setting: it's a file it reads for you. There are three places it can live, and the trick is putting the right thing in each.
+Build, test and run commands
+Conventions the agent keeps forgetting
+The architecture map: what talks to what
+Gotchas that already cost you a session
−Anything that changes every day
−Secrets and tokens
−Transient state ("currently debugging X")
−A wall of text: it competes for attention
The other anchor people reach for is ChatGPT-style account memory: it remembers facts about you across conversations. Genuinely useful, but it's conversational and vendor-side: it never saw your codebase, it lives in one company's account, and Claude Code or Cursor can't read it. Two different jobs, and neither one is memory that lives with your files.
The shape of the problem
A memory per repo, versus one under the whole machine.
CLAUDE.md gives every repo its own memory island. Useful inside that repo, blind to every other one, and absent entirely on the roughly 90% of your disk that was never in git. Here is that topology next to a single layer that spans all of it.
The two famous answers, and their edges
Both help. Neither one moves with your files.
CLAUDE.md the built-in file | ChatGPT memory account-side | Interlinked vault the machine layer | |
|---|---|---|---|
| Lives in | a markdown file in the repo | one vendor's account | a sealed store on your disk |
| Keyed to | a path in one repo | your login | the file's OS identity |
| Sees your actual files? | only this repo's tracked files | no: it never saw your machine | every file on the machine |
| Survives a rename / move? | no: references rot | n/a | yes: the identity never changes |
| Scope | one repo | your chats | whole machine · every repo + the non-git 90% |
| Who reads it | Claude Code | one vendor's chat | every agent (19 clients) |
| Upkeep | you, by hand | the vendor | itself + any agent |
None of these are bad tools: keep your CLAUDE.md; it's the right home for project instructions. The gap is structural. Path-keyed and account-keyed memory can't follow the work: reorganize the tree and the references point at folders that no longer exist. Only memory keyed to a file's own identity can move with it, and only a machine-wide index is positioned to do that. More on that failure mode in why agent memory dies on rename.
Where memory should live
A memory that lives with your files, not your repo, not your vendor.
Interlinked keeps a knowledge vault keyed to each file's OS identity, the permanent handle the filesystem assigns the moment a file is created. Notes and relationships hang off that identity, so they span every repo plus the non-git 90% of the disk, survive any rename or move, and are read (and written) by every agent you run. And it doesn't start empty: on a fresh machine it seeds itself from your own history, with zero model guesses: every edge is something you can check.
MEASURED ON THE REFERENCE MACHINE: RYZEN 9 9950X3D · 64 GB DDR5 · NVMe · WINDOWS 11 · 4.47M FILES.
Set it up today
Give your agent both kinds of memory.
Keep your CLAUDE.md. Project instructions, conventions and commands belong there: it's the right tool for repo-level rules. Nothing here replaces it.
Install Interlinked once. One signed installer auto-configures 19 AI clients: Claude Code, Cursor, Copilot, Codex, Windsurf, Zed, Cline and the rest. No JSON editing.
Let the vault seed itself. Day one it reads your git history and webs your repos, including the ones that ship together but aren't a monorepo. Nothing to write by hand.
Let agents leave notes. A gotcha here, a cross-file tie there: keyed to the file's identity and surfaced to every future agent on the searches it already runs. A save is searchable in about a millisecond; at rest the whole engine sits around 44 MB.
Everything local is free forever, on all your devices, no card. Hosting starts at $5.99/mo. Download for Windows · How the vault differs from RAG and model memory
FAQ · common questions