Agent Memory Stores
Where agent memory lives, and when it disappears. Five stores with five different lifespans — plus the three things that bite: the desktop-app dependency, the fact that Cowork and Claude Code cannot read each other, and the reason notes have to be written during the session.
← Back to Reference HubBest for: Everything you and the agent work out together in the moment — reasoning, drafts, decisions, corrections.
- Lives in: Anthropic cloud, attached to your account
- Desktop app required: no
- Reachable from: browser, desktop app, mobile
- Survives session end: persists as a record, but not as live context
- Read by the next session: no — not unless you paste or reference it
Limitations: Persistence and availability are not the same thing. The conversation is still there tomorrow; it is just not in the next session's head. Treating the transcript as memory is the single most common reason an operator is surprised by what the agent has forgotten.
Best for: Facts about you that should hold everywhere — your role, how you like output shaped, the people and areas you work with.
- Lives in: Anthropic cloud, scoped to the user account
- Desktop app required: no
- Reachable from: every Claude surface the account signs into
- Shape: /profile.md, /preferences.md, /topics/, /areas/, /people/
- Right content: who you are, how you work, recurring people and areas
Limitations: Scoped to the person, not the project — writing project detail here leaks it into unrelated sessions and makes the profile noisy. It also does not reach Claude Code, which reads its own store.
Best for: Everything the next session on this project needs to know — decisions made, conventions settled, state of the work.
- Lives in: the user's desktop, reached over the device bridge
- Desktop app required: YES — this is the dependency that bites
- Reachable from: any surface, as long as the desktop app is open
- Shape: MEMORY.md as the index, plus topic files
- Read by the next session: yes, for Cowork sessions on the same project
Limitations: Disappears mid-session if the desktop app closes — and it fails at the next write, not at the moment the app closes, so everything else keeps working in the meantime. Invisible to Claude Code entirely.
Best for: Context that a terminal-side agent needs across its own sessions in a repo.
- Lives in: the user's disk, under Claude Code's own configuration
- Desktop app required: no — Claude Code is its own surface
- Readable by Cowork: no
- Readable by Claude Code: yes, its own store only
- The shared channel that does work: CLAUDE.md committed in the repo
Limitations: Disjoint from every Cowork store. A dispatch that tells Claude Code to 'follow the conventions in memory' does not error — it just quietly does nothing, and returns work that ignores conventions the operator believes were communicated.
Best for: Durable instructions you never want to restate — tone, format defaults, standing constraints.
- Lives in: account settings
- Desktop app required: no
- Reachable from: every session, automatically
- Written by: the user, deliberately — not by the agent mid-task
- Right content: standing instructions that are true across all your work
Limitations: Blunt instrument. No project scoping, no conditional application. Overloading it produces instructions that are wrong more often than they are right.
The variable is the desktop app, not the surface
| Store | Where it lives | Needs the desktop app? | Survives the session | Who else can read it |
|---|---|---|---|---|
| The conversation | Cloud | No | Persists, but goes inert | You, from any surface |
| User memory | Cloud | No | Yes | Every Claude surface on the account — chat, mobile, Cowork |
| Project memory | The user's desktop, over the device bridge | YES — the dependency that bites | Yes — the only store that carries the project forward | Future Cowork sessions on the same project |
| Claude Code memory | The user's disk | No | Yes | Claude Code only — Cowork cannot see it |
| Standing preferences | Account settings | No | Yes — injected into every session | Every session, automatically |
Write during the session, not at the end of it
The five stores have five different lifespans, and only one of them — project memory — carries this project forward into the next session. That single fact turns note-writing from housekeeping into the actual mechanism of continuity. A session that ends abruptly keeps whatever was already filed and loses everything else, so write early, write often is not tidiness advice; it is the only thing that survives. The corollary is that a write can fail for reasons that have nothing to do with what you typed: if the desktop app has closed, the note has nowhere to land, and you will find out at the write rather than at the close.