Compare

The Best Letta Alternative

Letta gives an agent a memory it edits deliberately. Watchman gives your whole machine a memory that fills itself.

Letta covers 0 of the 16 capabilities compared in full, and 6 in part. Every row is in the table on this page, sourced and checkable — we publish no benchmark we have not run.

How to read this page. The Watchman column is read from this project's own source. The competitor columns describe the shipping products as of September 2026, are the only claims here not read from our repository, and should be re-checked before you rely on them. If we have something wrong, tell us and we will correct it. Competitor claims last checked September 2026.

Every tool
captured from
£0
per recall
0
manual writes
Difference

The six things the matrix says nobody else does

Every memory product will tell you it remembers. The question worth asking is what happens next — whether anything acts on what was remembered. These six are where Letta and Watchman stop being the same category of tool.

— Blocks an agent on memory state, per subject.

— Audits the code it just wrote, and makes the coder answer.

— Decides routine approvals for you while you are away.

— Caches proven tool results so the same answer is never bought twice.

— A code graph of symbols and call edges, scoped per folder.

— Peer-to-peer team sync with no cloud data path.

A guard is compiled code, not prompt text an agent can reason its way around. That distinction is the whole reason the first row exists.

CAPABILITIES FULLY SUPPORTED, OF THE 16 COMPARED
Watchman
16
Letta
0 (+6 partial)

Counted from the comparison table below this chart — recount it yourself.

Difference

Nobody has to be in the loop

Most “autonomous” agent tooling means an agent that stops every four minutes to ask you a question. The default here is the opposite: it runs the loop and interrupts only for things that are genuinely irreversible.

Editor hooks record every session and every edit, so there is no “remember this” step to forget — which is the reason most memory tools quietly end up empty. The proxy answers routine approval requests from a brief you wrote. The auditor reads what the coder actually edited and puts a finding in its next turn as a conversation it has to answer. The recorder serves proven tool calls from the record instead of paying for them again.

Three things it will never decide for you, whatever the dial says: anything the Guard stopped, anything above the severity ceiling you set, and anything on a project with no brief. Autonomy is a dial on reversible work, never a bypass on work that cannot be undone.

Difference

What it costs at the margin

Recall runs against a local index. You are not billed to remember, and that single fact changes behaviour: teams that pay per query learn to query less, and a memory nobody searches is not a memory.

The proxy, the background jobs and the auditor run on the agent CLI you already pay for — your existing sign-in, no second bill. A decision is reviewed by a model exactly once and the flag is stored, so no restart or sync replay can spend a second call on the same card. Continuations and handoffs approve on a fast lane with no model call at all.

Set every model to off and it still works. Capture, filing, linking, the graph and search all keep running with nothing spent. That is the floor, and the floor is free.

WATCHMAN
Marginal cost per recall£0 — a local index, you are not billed to remember
Setup effortNone — it installs and self-wires into every agent tool it finds
Ongoing effortNone — capture, filing, linking and handoffs are automatic
With every model set to offStill captures, files, links, graphs and searches
Ecosystem maturityYoung — fewer people have hit your bug before. This is the real downside.
Difference

What an agent can actually call

A memory you cannot reach from the tool you are in is a memory you will not use. The surface is deliberately wide, and the editor hooks mean most of it is never called by hand.

WHAT AN AGENT CAN CALL, IN WATCHMAN
HTTP API routes
159
CLI commands
50
MCP tools
37
Editor hook events
7

Counted from the crate in projectmd.md. Our numbers only — we have not counted the equivalents for other tools.

Side by side

Watchman and Letta, capability by capability

CAPABILITYWATCHMANLETTA
Blocks on memory stateYes — per subjectNo
Self-auditing code reviewYes — live, on saveNo
Decides for you while you are awayYes — the proxyNo
Caches proven tool resultsYes — the recorderNo
Code graph — symbols and call edgesYes — folder-scopedNo
P2P team sync, no cloud data pathYesNo
Org-wide memory you can drop files intoYesNo
Automatic capture, no “remember this”Yes — editor hooksNo — the agent edits it
Runs fully offlineYesPartial — self-host
Data never leaves the machineYesPartial
Works with the cloud downYesPartial
MCP toolsYes — 37Partial
Temporal knowledge graphYesPartial
Multimodal embeddingYes — image, video, docNo
Per-project rule enforcementYesNo
Desktop appYes — desktop appPartial
Which one

Choose the right tool

Choose Watchman when

  • You want one memory across every agent and editor, not one agent's state
  • Capture should not depend on a model choosing to write something down
  • You need enforcement — a guard that runs before the tool call, not a prompt
  • The setup effort should be none rather than medium

Choose Letta when

  • You are researching agent memory architectures and want the paging model itself as the object of study
  • You want an agent that reasons explicitly about what to keep and what to evict, and you want that visible
  • You are building a stateful agent service rather than instrumenting a developer's machine
FAQ

Questions teams ask first

Is this not the same idea as MemGPT's paging?
No — they solve different halves. MemGPT is about an agent managing a limited context window deliberately. Watchman is about capturing what happened without anyone deciding to, then acting on it: blocking a command, auditing an edit, answering an approval. You could reasonably want both.
Letta can self-host. Does that close the gap?
On locality, partly — the matrix marks it partial. It does not change automatic capture, guards on the tool call path, the code graph or the proxy, none of which are questions about where the process runs.
Is the data really local?
The engine is an executable on your disk and a single redb file. Nothing leaves the machine unless you send it to a teammate, and that goes to them encrypted rather than through anyone's inference API. There is no network hop in the data path, which is also why it works on a plane, on hotel wifi, and during someone else's outage.
What is the honest downside?
The ecosystem is young. There are fewer people who have hit your bug before, fewer blog posts when something goes wrong, and fewer integrations written by strangers. That is the real cost, and it is the last row of every table on this page.
Do I have to stop using what I have?
No. Capture installs into every agent tool it finds on the machine, so switching agents does not restart your history. If you already keep memory somewhere else, running both costs you nothing but disk.
How much work is it to keep going?
None by design. Indexing, the code graph, the auditor and peer sync are background work on a schedule. A memory tool with a “save this” button ends up empty, because the moment worth saving is never the moment you think to press it.
How were these comparisons put together?
The Watchman column is read from this project's own source. The competitor columns describe the shipping products as of September 2026, are the only claims here not read from our repository, and should be re-checked before you rely on them. If we have something wrong, tell us and we will correct it.
Try it

Install it and stop remembering things yourself

Local, free at the margin, and it fills itself while you work.

START FREE TRIAL