# Supported Harnesses

> How Agent Memory maps to memory systems in popular agent harnesses.


Agent Memory is designed around patterns already used by stateful agent harnesses. Support varies today: some harnesses implement the format directly, while others already have compatible pieces and can reach full support through configuration or extensions.

## Core contract

“Root Markdown” means every flat `.md` file is loaded into context. “On-demand reads” means the agent can read deferred files when an index or task points to them.

| Harness | Root Markdown | On-demand reads | Freshness |
| --- | --- | --- | --- |
| Letta Code | Yes | Yes | Yes |
| Claude Code | Partial | Yes | Yes |
| Codex | Partial | Yes | Yes |
| OpenClaw | Partial | Yes | Yes |
| Hermes Agent | Partial | Partial | Yes |
| Pi | Extension | Extension | Extension |

**Partial** means the harness implements a narrower version of the behavior, such as loading only specific root Markdown files. **Extension** means the behavior can be added through the harness's extension system but is not built in.

## Optional features

| Harness | Write access | Learned indexes | Root length limit | Frontmatter | Git history |
| --- | --- | --- | --- | --- | --- |
| Letta Code | Yes | Yes | Configurable | Yes | Yes |
| Claude Code | Yes | Yes | 200 lines / 25 KB | Yes | No |
| Codex | Partial | Yes | Token budget | No | Yes |
| OpenClaw | Yes | Partial | Configurable | No | Optional |
| Hermes Agent | Partial | No | Character budget | No | No |
| Pi | Extension | Extension | Extension | Extension | Extension |

These features are optional. A harness can fully implement the core contract with read-only memory and without frontmatter, git, or a fixed length limit.

## Letta Code

**Full support.** Agent Memory is built into Letta Code. Each agent owns a portable, git-backed memory folder. Root Markdown files are loaded into context and directories are available to the agent on demand.

## Claude Code

**Partial support.** Claude Code auto memory uses a `MEMORY.md` index with topic files read on demand. Its memory is scoped per repository and stored locally, rather than belonging to one agent across projects and machines. A setup guide can bridge the remaining differences with Claude Code configuration and hooks.

## Codex

**Partial support.** Codex maintains a shared `~/.codex/memories/` directory with `MEMORY.md`, summaries, and detailed rollout files. Its generated memory pipeline already uses a compact index with deeper files available for recall, but it does not yet implement the complete Agent Memory loading contract.

## OpenClaw

**Partial support.** OpenClaw gives each agent a workspace with always-loaded files such as `MEMORY.md` and `USER.md`, plus detailed memory files retrieved on demand. Its existing layout maps closely to Agent Memory, though its bootstrap file set and loading rules are OpenClaw-specific.

## Hermes Agent

**Partial support.** Hermes Agent stores durable memory in `MEMORY.md` and `USER.md` and loads a frozen snapshot at session start. It does not yet load arbitrary root Markdown files or expose a general progressively disclosed memory tree.

## Pi

**Extension path.** Pi extensions can modify the system prompt before each agent turn and give the model access to a persistent memory folder. A small extension can implement Agent Memory without changing Pi itself.

## Setup guides

Harness-specific setup guides and copyable prompts are coming next. Where a harness does not support the complete format natively, the guide will show how to add as much support as the harness allows using extensions, hooks, or existing configuration.
