Agent Memory

Supported Harnesses

How current memory systems map to Agent Memory.

Many harnesses already store memory as Markdown. Full support requires the Agent Memory directory shape, every root Markdown file in context, and progressive discovery of nested MEMORY.md files without loading the nested contents automatically.

Harness Support Memory location What the agent sees
Letta Code Full $MEMORY_DIR/
Per agent
✓ Every root .md
✓ Nested memory tree
Claude Code† Partial ~/.claude/projects/<project>/memory/
Per repository
△ Only MEMORY.md
✓ Files indexed by MEMORY.md
Codex Partial ~/.codex/memories/
Per user
△ Only memory_summary.md
✓ Files indexed by MEMORY.md
OpenClaw Partial Agent workspace
Per agent
△ Selected root files and recent notes
✓ Recursive memory search
Hermes Agent Partial $HERMES_HOME/memories/
Per profile
△ Only MEMORY.md and USER.md
× Nested memory not surfaced
Pi with pi-memory Extension ~/.pi/agent/memory/
Per user; configurable
△ Prescribed, capped snapshot
✓ Memory read and search tools
Deep Agents Code Partial ~/.deepagents/<agent>/AGENTS.md
Per dcode agent
△ Only agent AGENTS.md
× Other memory not surfaced
Factory Droid† None — × No documented agent memory directory

✓ Matches the format · △ Narrower behavior · × Not supported
† Closed source; assessed from official documentation. Other entries were checked against public source.

Full means the harness can use an indexed Agent Memory directory without restructuring it. Partial means the harness has file-based memory but loads a narrower root subset or does not progressively discover nested indexes. Extension means support comes from the harness's extension system.

Project instructions such as repository AGENTS.md do not count as agent memory.

Implementation details

These behaviors affect day-to-day use but do not determine compatibility.

Harness Writes Refresh In-context limit
Letta Code Yes Committed revision Configurable
Claude Code Yes Next conversation 200 lines / 25 KB
Codex Updates notes Next run Token budget
OpenClaw Yes Next turn; search index watched 20K/file, 60K total by default
Hermes Agent Yes Next session or compression 2,200 + 1,375 characters
Pi with pi-memory Extension tools Session, compaction, edit, or day change 16K characters combined
Deep Agents Code Yes Cached for thread None documented
Factory Droid No documented memory folder Undocumented —

Assessment notes

Claude Code

Claude Code auto memory loads only MEMORY.md at the start of a conversation, capped at 200 lines or 25 KB. That file routes the agent to sibling topic files. Memory is scoped per repository.

Codex

Codex injects a token-limited memory_summary.md. Its prompt identifies MEMORY.md as the searchable registry for deeper skills/ and rollout_summaries/ files. It does not load every root Markdown file.

OpenClaw

OpenClaw loads selected files such as MEMORY.md and USER.md, with recent daily excerpts after /new or /reset. Dedicated memory_search and memory_get tools cover Markdown recursively under memory/.

Hermes Agent

Hermes Agent loads bounded MEMORY.md and USER.md snapshots. It does not scan, index, or otherwise surface additional files in the memory directory.

Pi with pi-memory

Pi has no built-in memory directory. The pi-memory extension injects a capped snapshot of MEMORY.md, scratchpad, and recent daily notes, and provides memory read and search tools.

Deep Agents Code

Deep Agents Code loads ~/.deepagents/<agent>/AGENTS.md as the selected agent's memory. It does not scan sibling files or provide memory-specific discovery. The underlying framework can load an explicit list of files but does not prescribe this format.

Factory Droid

Factory Droid documents project instruction files and persistent computers, but its public documentation does not define an agent memory directory.

To add full support to an existing harness, see Add Agent Memory support.