Docs
Supported agents
Which agents Agent Memory captures, where it reads from, and what it keeps from each session.
Agent Memory captures sessions from four command-line agents automatically and connects to two web assistants through Remote MCP.
Captured automatically
| Agent | Read from | Notes |
|---|---|---|
| Claude Code | ~/.claude/projects/*/sessions/*.jsonl | Session transcripts. |
| Codex | ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl | Session logs. |
| Grok | ~/.grok/sessions/**/updates.jsonl | Metadata such as the working directory comes from summary.json. |
| Devin CLI | ~/.local/share/devin/cli/sessions.db | Read from a snapshot, never from the live database. Only changed sessions are rewritten. |
Paths shown are the macOS defaults.
How capture works
When a session ends, the SessionEnd hook notifies the app and returns right away. Parsing, upload and embedding happen in the app, never inside the hook. If a hook doesn't fire, because the agent crashed or the hook is off, the periodic sweep and the check at the next launch pick the session up.
A file that fails because of its own content is retried after an hour and after a day. If it still fails, it is set aside until the file changes. Network errors are simply retried on the next cycle.
agent-memory ingest deferred
agent-memory ingest deferred --resetWhat is kept, and what is searched
| Part of a session | Kept | Searched |
|---|---|---|
| User and assistant messages | Yes | Yes |
| Tool calls and tool output | Yes, for replay | No |
| Thinking (reasoning) | Yes, for replay | No |
Agent Memory never deletes your original JSONL files.
ChatGPT and Claude on the web
These connect through Remote MCP. They can search, check sources and replay sessions. The current conversation is saved only when you ask. See Remote MCP.
A session ending is not a task finishing
Agent Memory records whether a session is active or ended. That says nothing about whether the work succeeded, so it never marks a task as completed just because the session ended.