If you use Claude Code every day, you have probably re-explained the same thing to it more times than you can count. What the product does. Who the personas are. Why you rejected that naming convention three sprints ago. Claude Code memory solves exactly this: a set of file-based mechanisms that let Claude retain context across sessions, so you stop re-briefing a tool and start working with something closer to a colleague.
This matters more for product managers than almost anyone else on a team. Engineers get memory "for free" because the codebase itself is the memory: types, tests, and comments encode decisions. PMs work in a much fuzzier medium: personas, positioning, tradeoffs, verbal agreements made in a Slack thread three weeks ago. Without a deliberate memory system, all of that evaporates every time you open a new chat.
This article breaks down the three layers of Claude Code memory (project instructions, auto-memory, and subagent memory), why the third one is the one worth obsessing over, and what a PM should actually store in each layer.
Key Takeaways
- Claude Code memory operates in three layers: CLAUDE.md for standing rules, auto-memory for the running history of decisions, and subagent memory for repetitive work.
- Subagent memory is the real unlock: a correction made once gets saved as a standing instruction, so the same agent applies it automatically on every future run.
- Store product context, personas, and past decisions with their reasoning in CLAUDE.md or auto-memory, since the why behind a call is the hardest thing to recover once lost.
- Practice memory hygiene: prune stale facts and skip trivia, or Claude ends up confidently wrong instead of simply uninformed.
- For product managers, memory turns Claude Code into a system: recurring tasks like competitor tracking, PRD reviews, and discovery synthesis run through subagents that keep improving with every correction.
Learn this hands-on
Become a 10x PM by learning how to use Claude Code in your daily work as a Product Manager, through 3 highly efficient live sessions of 1h30. Join the Claude Code for PMs live cohort.

The Three Layers of Claude Code Memory
Claude Code memory is not one feature. It is three distinct mechanisms that stack on top of each other, and each answers a different question.
Layer 1: CLAUDE.md, the project's standing instructions
CLAUDE.md is a single file at the root of your project that Claude reads at the start of every session. Think of it as the onboarding doc you wish every new hire actually read before their first day.
This is where you put things that are true every single time, regardless of task:
- What the product is and who it is for
- Non-negotiable rules ("never use em dashes in marketing copy", "always ask before touching billing code")
- Recurring workflows you want encoded once and reused forever ("after shipping a feature, add analytics tracking")
- Naming conventions and terminology the team has agreed on
CLAUDE.md is static in the sense that Claude does not update it automatically. You edit it by hand, the same way you would edit a wiki page. It is the constitution, not the case law.
Layer 2: Auto-memory, the running case law
Auto-memory is where Claude proactively writes things down after doing significant work. It lives in a memory/ directory, organized as small topic files with a MEMORY.md index at the top pointing to each one.
The pattern looks like this: after a meaningful change (a new feature, an integration, an architectural call), Claude appends a short note describing what was built, why a particular option was chosen over another, and any gotcha it ran into. The next time a related task comes up, Claude reads the index first, finds the relevant file, and starts already knowing the history.
For a PM, this is where the "why" behind decisions lives. Not "we built X" (the code already says that), but "we chose X over Y because of Z constraint," which is exactly the kind of context that gets lost when it only lives in someone's memory or a buried Slack message.
Layer 3: Subagent memory, the layer that compounds
This is the one worth paying attention to. When you delegate a task to a subagent (a specialized Claude Code agent scoped to one job), that agent has its own memory file, separate from the main project memory. And this is where things get interesting for repetitive PM work.
Why Subagent Memory Is the Real Unlock
Here is the mechanic, stripped down: you run a subagent. Its output is not quite right, so you correct it. That correction gets saved to the subagent's own memory file. The next time you run that exact subagent, your past correction is read back in as an instruction before it starts working. You said it once. It applies forever.
That is the difference between a tool you re-brief every morning and a colleague who remembers last sprint's decisions.
A running example: the competitor watchlist
Say you want to track how competing whiteboard and diagramming tools ship features, so you build one subagent per competitor changelog: one for tldraw, one for Figma, one for Miro, one for Lucidchart, one for Whimsical. Each agent's job is the same shape (check the changelog, summarize what shipped, flag anything competitive), but each one develops its own memory over time.
The first time you run the tldraw agent, it might dump every single patch note, including a version bump that changed nothing user-facing. You tell it: "ignore minor version bumps, only flag things that change what a user can do." That correction gets written to the tldraw agent's memory file. From then on, every run of that agent filters out noise automatically, without you saying it again.
Maybe the Figma agent's recap comes back as a wall of text. You say: "format this as three bullets: what shipped, who it affects, whether it is a threat." Saved. Every future recap from that agent follows your format, while the tldraw agent keeps its own separate memory, its own separate corrections.
This is the part that compounds. A generic chatbot forgets your formatting preference the moment the session ends. A subagent with memory gets measurably better at your specific job every single time you use it, because your corrections are not lost, they become the agent's standing instructions.
Honeycomb co-founder and CTO Charity Majors made the same point about AI systems in general, and it applies just as well to a subagent's memory file: "The knowledge in our heads is unavailable to AI until we encode it into the system, after all." A subagent that keeps making the same mistake is not stupid, it is simply missing knowledge that lives only in your head until you write it down.
What a PM Should Actually Store
Not everything belongs in memory. Here is a practical breakdown of what earns a spot:
Product context: what the product does, who it serves, what it deliberately does not do. This belongs in CLAUDE.md since it rarely changes and needs to be true for every task.
Personas: the actual behavioral and motivational detail, not just a name and a stock photo. Where personas live depends on how often they are used: core personas in CLAUDE.md, edge-case or experimental personas in a topic file under auto-memory.
Past decisions and their why: this is the single highest-value thing to store, and the easiest to lose. "We killed the onboarding checklist because it was hurting activation, not helping it" is worth more six months from now than almost any other artifact you could save.
Naming conventions: feature names, internal codenames, terminology the team has settled on after (usually) some argument. Small, boring, and exactly the kind of thing Claude will get subtly wrong if it is not written down.
Voice and copy rules: tone guidelines, banned words or punctuation, formatting preferences. These are cheap to store and expensive to keep repeating by hand in every prompt.
Memory Hygiene: What Not to Save
The failure mode is not too little memory, it is too much of the wrong kind. Two things to watch for:
Stale facts. A decision made in Q1 that got reversed in Q3 is worse than no memory at all if nobody updates the file, because now Claude is confidently wrong instead of neutrally uninformed. Treat memory files the way you treat a roadmap doc: something that needs the occasional prune, not a permanent record.
Over-saving trivia. Not every small fact deserves a memory entry. If it would not change how Claude approaches the next ten tasks, it probably does not need to be written down. A memory file cluttered with one-off details is harder to trust and harder to read, which defeats the purpose.
A good rule of thumb: before saving something, ask whether a future version of this task would go wrong without it. If the answer is no, let it go.
Claude Code Memory for Product Managers
Everything above already speaks directly to PM work, but it is worth naming the shift explicitly: memory turns Claude Code from a tool you operate into a system you build. Once your product context, personas, and decision history live in CLAUDE.md and auto-memory, and once your recurring analysis tasks (competitor tracking, PRD reviews, discovery synthesis) run through subagents that keep getting corrected and refined, you are not prompting anymore. You are managing a small team of specialists that each get better at their one job, the same way a good analyst gets better at a beat the longer they cover it.
Product manager and want to work like this? This is exactly what we teach in Claude Code for PMs, our live cohort for product teams: 3 live sessions of 90 minutes over 2 weeks. Every PM ships a real feature, builds their own agent, and gets personalized written feedback.
Key Takeaways
Claude Code memory works in three layers: CLAUDE.md for standing rules, auto-memory for the running history of decisions, and subagent memory for repetitive, specialized work. The third layer is where the real leverage is. Corrections you make once become instructions the agent follows forever, so a subagent scoped to one job (a competitor watchlist, a PRD reviewer, a discovery synthesizer) gets measurably better every time you use it.
Store product context, personas, past decisions with their reasoning, naming conventions, and voice rules. Skip the trivia, and prune stale facts before they start confidently misleading you. Do that consistently, and Claude Code stops being a chatbot you re-brief every morning. It starts being a colleague who remembers last sprint.
