The world’s first unified interface for agent harnessesOpen Source4.3kPowered by UHP
Harness Memory - Long-term memory for agents, across every harness | Product Hunt

Harness Memory

Agents that remember.
Every session, every harness.

Every agent that needs one gets its own memory, automatically. No memory service to wire up, and no new integration when the harness changes.

Fig. 1Two agents, two harnesses, one memory

01Built in

A memory of its own, made with the agent.

The engine is picked for what the agent does, and the console shows why.

Fig. 2
The setup card after an agent is built in Studio: Claude Code, its model and instructions, what HarnessRouter includes, and Memory: Graphiti, it tracks people, things and how they relate over time, with a Change link
Chosen for the work
One that only transforms what it is given, like a translator, gets none.
Always adjustable
The Change link picks another engine, or none.

02In every session

It remembers in every later session.

Loaded when a session starts, used through tools during each turn, and recorded when the turn ends. The engine keeps what mattered, and the agent recalls it before it answers.

Fig. 3
A later task with the Claude Code agent: asked what Melanie's charity race was raising awareness for, it recalls what it was told in earlier tasks and answers mental health

A later task: the agent recalls before it answers

The memory's Data tab: notes and facts in a list, the note Summer weekend plan for you and Melanie open, written by the Codex agent, and the graph of how the records relate

Data: its records and how they relate, live as it works

03Across harnesses

One memory, more than one harness.

Agents on different harnesses can share one memory. In the demo, a Claude Code agent and a Codex agent use the same memory.

Fig. 4
  1. Settings of a second agent, Shared trip plans, on Codex: under Memory, the first agent's memory, Personal relationship timeline, is switched On

    1Switch the memory on for an agent on Codex.

  2. The Codex agent, asked to plan a summer weekend for the user and Melanie, reads the shared memory first, then drafts the plan it saves for next time

    2The Codex agent saves a plan.

  3. A new task on the Claude Code agent, asked what was planned for the summer weekend with Melanie, answers with the plan the Codex agent saved, day by day, after recalling 13 things

    3The Claude Code agent recalls it in a new session.

04Safe by default

Built for agents that face users.

When an agent serves many people, each person gets a memory of their own, named on the task. Their records are kept apart from everyone else's, and one person's memory can be erased on its own.

Recalled memory is data, not instructions
It reaches the agent fenced off from its instructions, with who wrote it.
Agents forget. Only people erase
Erase is never offered to an agent as a tool.
Access per memory
People and agents are members alike, and access is granted per memory.
See it live
The Memory page has Data, Schema, and Settings tabs, and you can see, edit, or delete what an agent remembers.
Fig. 5
  • The Memory page: the card for Personal relationship timeline, on Graphiti, used by two agents, Personal relationship timeline and Shared trip plans

    Memory: each memory, its engine, and the agents that use it

  • The memory's Schema tab: the record types Graphiti makes, Episode, Fact and Entity, with how many records of each and how they connect

    Schema: the kinds of record its engine keeps

  • The memory's Settings tab: its name and description, and two agents on it, one on Claude Code and one on Codex, both switched On

    Settings: the agents on this memory

06Protocol

The Harness Memory Protocol.

The Memories chapter of the Unified Harness Protocol: an open definition of what a memory is, who may reach it, and how an agent uses it.

Fig. 7
  1. The providerits own store and intelligencehow memory is derived and kept
  2. UHP Memoriesthis chapterwhat a memory is, who may reach it, when a harness calls it
  3. MCPthe tools an agent holdshow an agent calls it in a turn
A named container
A memory holds records: facts, notes, procedures, and the people and things they are about.
A tree, like folders
Access is granted per memory and inherited below.
Tools for agents
Agents search and add to their memories with tools.
Optional
A server advertises it with the memories capability.

Read the Harness Memory Protocol ›