The Memories view exposes Claude Code’s per-project persistent memory — the small markdown files Claude writes about you, your preferences, the project, and external references — as a first-class panel inside Maestro. Open it, read what’s been remembered, edit anything that’s wrong, add new entries by hand, or delete what’s stale.Documentation Index
Fetch the complete documentation index at: https://docs.runmaestro.ai/llms.txt
Use this file to discover all available pages before exploring further.

Opening the Viewer
Click the brain icon in the main header to open the full-panel Memories overlay. PressEsc to close it.
The button appears only when the active agent supports per-project memory. Today that’s Claude Code only. Other agents (Codex, OpenCode, Factory Droid, etc.) don’t expose this surface — the button will be hidden for them.
What You’re Looking At
Claude Code stores memory per project as a directory of small markdown files. The viewer mirrors that one-to-one:- Left pane — list of every
.mdfile in the project’s memory directory, each row annotated with an estimated token count so you can see at a glance which entries are paying for themselves.MEMORY.mdis always pinned to the top; everything else is alphabetical. - Right pane — a markdown editor for the selected file. A live token estimate sits next to the filename in the editor header and updates as you type.
- Stats bar — file count, total bytes on disk, an estimated token cost (~4 bytes/token), first-created and last-edited timestamps.
How Memory is Organized
Each Claude Code project has two flavors of memory file:MEMORY.md (the index)
MEMORY.md is a one-line-per-entry pointer file. Each entry is short (under ~150 chars) and links to the actual memory:
MEMORY.md on every turn to decide which entries are relevant, then loads only those entries into context. Keep it tight — long index files defeat the purpose.
Entry files (the actual memories)
Each entry is its own markdown file with YAML frontmatter classifying it:type field is one of:
| Type | Purpose |
|---|---|
user | Facts about who you are — role, expertise, responsibilities, preferences |
feedback | Corrections and validations — “do this”, “don’t do that”, with the reasoning behind it |
project | Time-sensitive context about the work — deadlines, owners, motivations |
reference | Pointers to external systems — Linear projects, dashboards, channels, paths |
Editing Memory
Click any file in the left pane to load it into the editor. Edits are local until you press Save — switching files (or closing the viewer) with unsaved changes prompts a discard confirmation. The list shows a modified marker next to the selected file when there are unsaved changes, and the stats bar refreshes after every save so file size and timestamps stay accurate.Creating a New Memory
Click + New Memory in the header. The first file you create in an empty project is suggested asMEMORY.md (the index); subsequent files default to new-memory.md, new-memory-2.md, and so on.
The .md extension is added automatically if you omit it. Filenames must be unique within the project.
New files are pre-populated with starter content:
MEMORY.md— a starter index template with one example pointer line.- Any other file — a starter entry with empty
name,description, andtype: userfrontmatter ready to fill in.
Deleting a Memory
With an entry selected, click Delete (bottom right). You’ll get a standard confirmation dialog before the file is removed.MEMORY.md is the index and cannot be deleted from the viewer — if you really need to wipe it, use Open in Finder and delete it manually. Removing it from disk effectively resets Claude’s memory for the project, since the index is what tells it which entries exist.
Storage Location
Memory lives outside your project directory, under your Claude Code config:- macOS:
~/.claude/projects/<encoded-path>/memory/ - Linux:
~/.claude/projects/<encoded-path>/memory/ - Windows:
%USERPROFILE%\.claude\projects\<encoded-path>\memory\
<encoded-path> is your project’s absolute path with every non-alphanumeric character replaced by -. For example, /Users/you/Projects/Maestro becomes -Users-you-Projects-Maestro.
Because storage is keyed off the project path, opening the same project from a different absolute path (e.g., a git worktree under a different directory) yields a separate memory store. This is by design — worktrees are independent workspaces.
How Claude Uses Memory
Claude Code is instructed to:- Read
MEMORY.mdwhenever it might be relevant — to decide which entries to load. - Save new memories when it learns something durable about you, your preferences, or the project — without being asked.
- Update or remove stale entries when it discovers they’re wrong or out of date.
- Skip anything already derivable from the code, git history, or
CLAUDE.md— memory is for things that can’t be re-derived.
Related
- Context Management — how Maestro shapes what reaches the agent each turn
- Prompt Customization — editing the system prompts that govern memory behavior