Diagnostics

Claude Memory Troubleshooting

Most Claude memory problems reduce to four questions: was the right memory enabled, was the right file loaded, is the instruction specific, and is another memory contradicting it?

Key facts

Use Settings > Memory for Claude app and Cowork memory checks.

Use /memory for Claude Code loaded-file and auto-memory checks.

Rewrite vague instructions into verifiable commands.

Use hooks or settings for requirements that must always run.

"Each Claude Code session begins with a fresh context window."Anthropic Claude Code Docs

If Claude app memory seems wrong

Start in Settings > Memory. Confirm memory is enabled, read the topic list, and edit or delete the specific topic that is wrong. Editing one file is almost always better than resetting everything, because reset is permanent and takes project memories with it.

If you see no topics at all on a Team or Enterprise plan, the cause may be availability rather than a bug: admins gate memory for the organization, and it stays off for individual users until they turn it on. If a whole category is missing, check whether it falls under sensitive topics, which are excluded by default.

If the issue involves a specific Project, check whether the relevant chat belongs in that project or should be moved out.

If Claude Code misses an instruction

Run /memory. Verify the expected CLAUDE.md, CLAUDE.local.md, and rule files are listed. If a file is absent, check where Claude Code was launched, whether the file lives in an ancestor directory, and whether exclusions or scope rules apply.

If the file is loaded, check whether another instruction contradicts it. Claude Code loads multiple files into one context; closer or local files may appear later, but contradictions still create unreliable behavior.

If the memory is too vague

Replace soft preferences with observable rules. "Format cleanly" is weak. "Use 2-space indentation in TypeScript files" is stronger. "Always test before deploy" is weak. "Run npm run build before wrangler pages deploy" is stronger.

Claude reads structure the way people do. Use short headers, bullets, and commands. Remove archive notes that do not matter every session.

If instructions disappear after /compact

Claude Code docs say project-root CLAUDE.md survives compaction because Claude re-reads it from disk and reinjects it. Nested files in subdirectories may not reappear until Claude reads files in those subdirectories again.

If the lost instruction only lived in conversation, it was not durable memory. Add it to the right memory surface before compacting or starting a new session.

FAQ

Why is Claude not following CLAUDE.md?

The file may not be loaded, the instruction may be vague, another instruction may conflict, or the requirement may need enforcement through hooks or settings.

Does /compact erase CLAUDE.md?

Project-root CLAUDE.md is re-read after /compact. Nested files may reload only when Claude reads files in those subdirectories.

Primary Sources