Skip to content
⭐ Flagship · multi-agent

Your whole team of agents remembers the same things — and stays in sync.

Run a lead agent, its subagents, and tools like Claude Code, Cursor, and Codex on one shared memory. Each keeps what's private; the team shares what matters. No more agents talking past each other.

Private → shared promotion
Private to one agent
Writer

Draft outline v3

Researcher

Scratch: API rate limit?

Shared team memory
SHARED

Launch date is Oct 9

SHARED

Pricing model: usage-based

Conflict on “launch date” resolved — newest verified fact won.

Shared memory[1 / 7]

Right now, every agent learns in its own silo.

Run more than one agent and they each learn in their own silo. Your researcher discovers something; your writer never hears about it. They repeat work, contradict each other, and forget what the team already knew.

The fix[2 / 7]

One shared memory — written by who's allowed, kept honest.

ULTRAMEMORY gives every agent one place to write to and read from. The moment one agent learns something worth sharing, every other agent can recall it.

Private → shared promotion
Private to one agent
Researcher

Half-formed note: try vendor B

ScraperDENIED · IDENTITY

Tried to write a team fact — blocked: this agent isn't allowed to promote

WebQUARANTINED

Unverified claim from a web page

Shared team memory
SHARED

Customer is on the Enterprise plan

SHARED

Ship target: October 9 (current)

Two agents wrote different ship dates. The newer, verified fact (Oct 9) won; the older one was superseded and logged.

Conflict resolved — the current truth wins, with an audit trail
NOWMay 26May 26Jun 26Ship date = Oct 2 (…Ship date = Oct 9 (…CURRENT

Private to one agent on the left. Promoted to the shared team memory on the right. When two agents disagree, the conflict is resolved and logged. You set the rules for what crosses over.

Private vs shared[3 / 7]

You decide what's private and what's shared.

Two buckets, one memory. Nothing crosses over by accident.

Private bucket

Each agent keeps its own scratch space — drafts, half-formed notes, per-task context — invisible to the others until you say so.

Shared bucket

Team truth everyone reads: decided facts, project state, preferences. One source everyone trusts.

Nothing is shared by accident — promotion is a deliberate, governed step.

Per-agent identity[4 / 7]

Every agent gets exactly the access it needs — and it expires.

A parent agent can hand a subagent or tool exactly the access it needs — no more. Spin up a subagent and it inherits the right slice of memory automatically; when its job's done, that access expires.

Capability lineage — scoped, inherited, expiring
shared bucketLead agentResearcherWriterReviewerWeb searchScraper (expi…
  • parent
  • subagent
  • peer
  • tool

Every agent's reach is scoped and inherited — and you can see the whole family tree.

Trustworthy at scale[5 / 7]

Shared doesn't mean messy — or unsafe.

The wedge connects to the rest of the promise, so a shared memory stays accurate, safe, and transparent.

  • Always the right answer — contradictions get resolved, current truth wins.

    Learn more →
  • Planted or bad memories are caught at the promotion gate.

    Learn more →
  • See what every agent remembers, and why.

    Learn more →
Plays with everything[6 / 7]

Heterogeneous tools, one brain.

Claude Code, Cursor, Codex, Cline, and any MCP client can join the same shared memory — heterogeneous tools, one brain.

Works with
  • Claude Code
  • Cursor
  • Codex
  • Cline
  • Any MCP client
two clients · one memory id
# Claude Code writes a team fact
um.remember(memory_id="team:acme", text="Ship target is Oct 9")

// Cursor recalls the same memory
await um.recall({ memoryId: "team:acme", query: "ship date" })
Start free

Give your agents one memory they share.

Free to start, pay for what you use. Drop it into any agent or tool in minutes.