Auto Memory
Auto Memory
Claude Auto Memory will pay attention to your preferences and automatically remember them. Claude remembers by making notes (plain markdown file). E.g. "I prefer if you used underscore lowercase when naming vars in js" → "Recalling 1 memory, writing 1 memory…"
- Auto memory is turned on by default.
- Auto memory is machine local — files are not shared across machines or cloud environments.
- Each project has its own memories — all worktrees and subdirectories within the same git repository share one auto memory directory.
- Claude reads and writes memory files during your session. "Writing memory" or "Recalled memory" means Claude is updating the memory directory.
Each project gets its own memory directory at ~/.claude/projects/<project>/memory/:
~/.claude/projects/<project>/memory/
├── MEMORY.md # Concise index, loaded into every session
├── debugging.md # Detailed notes on debugging patterns
├── api-conventions.md # API design decisions
└── ... # Any other topic files Claude creates
- MEMORY.md acts as an index of the memory directory.
- Claude reads and writes files in this directory throughout your session, using MEMORY.md to keep track of what's stored where.
- Only the first 200 lines of MEMORY.md are loaded at the start of every conversation.
- Claude keeps MEMORY.md concise by moving detailed notes into separate topic files.
- Other separate topic files are loaded on demand when needed.
Auto memory is on by default and can be set in a configuration file, e.g. {"autoMemoryEnabled": false}.
/memorycommand: shows Auto-memory status (on/off), and lets you access 1. User memory (saved in~/.claude/CLAUDE.md), 2. Project memory (checked in at./CLAUDE.md), 3. Open auto-memory folder. Learn more: https://code.claude.com/docs/en/memory- Disable via env var:
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1
Related: CLAUDE.md Files, Claude Imports vs Rules vs AutoMemory, Troubleshooting Memory, Persistent Context