mrkeyoor.com_
Mon 21 Sept 03:57 UTC
Dev Toolsevaluationupdated 21 Sept 2026

deja-vu review

deja-vu is a local memory and search layer for the transcripts that coding agents already store on your machine. It indexes past chats, commands, file activity, and decisions, then makes that history available through a CLI, hooks, and an MCP server so another agent can find work you already did.

Verdict

Our sandbox installed 2 npm packages in 5 seconds, but found no build or test target, so that clean run says little about the Go binary users depend on. deja-vu is worth trying for a single developer with months of local agent history, especially when cross-agent recall matters more than shared team memory. Read its security model first, exclude sensitive projects, and treat redaction as a filter rather than a guarantee.

We ran it

Lab card: what happened when we ran deja-vuScreenshot of deja-vu (vshulcz.github.io/deja-vu)
Install✓ · 5s2 packages · 14 MB
Buildn/ano build script
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo2750 files~317,920 lines of source · 15.4 MB · 12 CI workflows · Dockerfile

Answers from our run

Does deja-vu build from source?

Dependencies installed in 5 seconds (2 packages), and the project has no separate build step. We cloned commit 7eb0e17 into a clean Debian container with 3 CPUs and no project-specific setup.

Does deja-vu have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does deja-vu have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use deja-vu?

Teams that need one shared memory service across coworkers: SSH sync moves records between machines, while repository-carried team memory remains open issue 528.

What are the alternatives to deja-vu?

Engram, Mem0, Letta. Our sandbox installed 2 npm packages in 5 seconds, but found no build or test target, so that clean run says little about the Go binary users depend on.

Setup3/5Fast npm wrapper install; real setup edits agent configuration
Docs5/5Install, privacy, parser coverage, commands, and limits are detailed
Community4/5900 stars and a push on 2026-09-21 show active attention
Maturity3/5v0.20.2 is active, while parser gaps remain documented

Who it’s for

Developers who move between Codex, Claude Code, Cursor, and other coding agents on one machine.
Heavy agent users who need to recover an old fix, command, or decision after a session is compacted.
Engineers who want lexical search without sending their full transcript archive to a hosted memory service.
MCP users willing to inspect the installer changes and tune which histories and tool records enter the index.

Who it’s NOT for

Teams that need one shared memory service across coworkers: SSH sync moves records between machines, while repository-carried team memory remains open issue 528.
Organizations that require encrypted storage or a guarantee that every secret is removed: the security model says the index is not encrypted, is not access control, and pattern redaction can miss unknown shapes.
Windows-first teams expecting the most proven path: the shell installer exits as unsupported on Windows, and the README calls macOS and Linux the field-tested paths.
Developers who need complete file attribution from every supported agent: open issue 595 says edit-span coverage varies by parser, which limits line-level blame and restore features.

Setup reality

Our sandbox installed 2 npm packages in 5 seconds and used 14 MB on disk. The root package had no build or test script, so both steps were skipped. That run checked the npm wrapper at commit 7eb0e17; it did not compile the Go binary or exercise the project's Go tests.

The actual product is a Go binary. The README offers a shell installer, Homebrew, go install, Scoop, release archives, and plugin bundles. Search works without hosted credentials, while optional semantic recall needs a local or OpenAI-compatible embedding endpoint. Some agent stores also need local tools such as SQLite or zstd.

deja install --auto builds an index and writes MCP, hook, skill, or guidance entries for detected agents. You can install only the binary or opt out of guidance and automatic recall. Windows needs Scoop or a downloaded executable because the shell installer refuses that platform.

One local index joins 34 coding-agent histories

deja-vu reads the session files that coding agents already leave on disk and turns them into one searchable history. The README lists 34 agents, including Codex, Claude Code, Cursor, Copilot, Gemini CLI, and OpenClaw. A CLI query can recover an old conversation, while its MCP server lets a current agent ask for the same material. Hooks can surface past decisions when a session starts, before a tool runs, or after a command fails.

The distinction from most agent-memory projects is timing. deja-vu starts with old transcripts instead of waiting for an agent to save new facts. It can index messages, command results, file paths, and replaced text spans, then associate them with projects and sessions. That makes it useful after switching assistants or losing detail to context compaction. The 15.4 MB checkout contains about 317,920 source lines, which also explains why this is much more than a tiny search command despite its single-binary distribution.

The 5-second npm install did not build the Go binary

Our run installed 2 npm packages in 5 seconds and left 14 MB on disk. The repository root has a private npm package for one agent extension, but the main program is written in Go. Our harness found no npm build script and no npm test script, so it skipped both steps. A buyer should not read that result as a successful compilation or test pass for the program described in the README.

Actual installation has several routes. macOS and Linux users can run the shell installer, use Homebrew, or build with Go. Windows users need Scoop or a release archive because the shell script exits with unsupported OS. Search itself needs no hosted key. Optional semantic recall is different: it sends redacted indexed text to the local or remote embedding endpoint you configure, and the security model says that is the only feature that presents session text to a third party.

What happened when we ran it

In our sandbox, npm completed in 5 seconds with 2 packages and no known vulnerabilities. The measured checkout had 2,750 files, roughly 317,920 lines of source, and occupied 15.4 MB before dependencies. We found 12 CI workflow files and a Dockerfile, but no tests directory. Those repository signals show automation around the project; they do not replace a test result from the checked-out commit.

The build and test outcomes were both skipped because package.json exposed neither target. Our test method used an unprivileged Node 22 container with 3 CPUs, 8 GB of RAM, and no secrets at commit 7eb0e17. That method exercised the root npm workflow only. It did not run go test, install a release binary, index agent histories, wire MCP clients, or judge recall quality. The honest result is a narrow pass for npm installation and no result for the core binary.

Local storage helps privacy, but redaction is not a vault

The default path keeps the index under the user's cache directory, and ordinary indexing, search, hooks, stats, and the stdio MCP server do not send it over a network. The 14 MB npm footprint we measured does not include the index you will build from your own transcripts. Size will depend on that history, and the index can include messages, command output, paths, and old source spans after redaction.

The security model is unusually direct about what can go wrong. The index is not encrypted at rest and is not an access-control system. Pattern matching covers common credentials, but an unknown token shape, encoded secret, split value, or sensitive prose may remain. Exclusions, tombstones, and per-record switches give you control over ingestion. They still require deliberate setup. Anyone who can read the index files can inspect the material stored there.

Parser breadth does not mean every feature works everywhere

The supported-agent table is long, yet the rows contain warning marks, missing capabilities, and extra tool requirements. Open issue 595 tracks uneven edit-span extraction, which affects file attribution, restore, and related features. Open issue 3747 documents 10 transcript files that a maintainer's live index had not adopted until a full search path ran. These are specific gaps in a fast-moving integration layer, not proof that ordinary recall fails across every agent.

deja doctor and the source registry matter because silent partial coverage is hard to spot. Before trusting recall, compare the source counts with the histories on your machine, run the deeper diagnosis, and try known queries from more than one agent. The repository had 26 combined issues and pull requests when fetched. Its latest push was September 21, 2026, so those open reports sit beside current maintenance rather than an idle codebase.

v0.20.2 is active, while team memory remains unfinished

GitHub shows v0.20.2 published on September 18, 2026, followed by another repository push on September 21. The release notes are unusually specific about measured bugs, parser additions, redaction changes, and wiring repairs. Twelve CI workflows are present in the checkout. That pace is reassuring for compatibility work, though an installer that edits many agent configurations deserves the same caution as any fast-moving developer tool.

For one person moving among agents, deja-vu solves a clear problem with a sensible local design. Team use is less settled: SSH sync can move redacted memory between your machines, but issue 528 describes repository-carried memory as an unserved case. Start with the binary and manual search, inspect what it finds, then enable MCP or hooks only for agents where the recall earns its place. The useful proof is your own forgotten fix coming back accurately, with its source session attached.

Alternatives

ProjectWhat it isPick it when
Engram gh↗A local Go memory system with SQLite, full-text search, MCP, HTTP, CLI, and TUI interfaces.pick this instead when you want agents to record durable memories going forward and prefer an HTTP API or TUI alongside MCP.
Mem0 gh↗A memory layer for agents and applications with self-hosted and managed deployment paths.pick this instead when application-level user memory and a service architecture matter more than mining old coding-agent transcripts.
LettaA platform for building stateful agents whose memory is part of the agent runtime.pick this instead when you are designing a persistent agent system rather than adding recall to several existing coding tools.

What people are saying

  1. [github-trending] vshulcz/deja-vu

Sources

  1. deja-vu repository and README
  2. deja-vu v0.20.2 release notes
  3. deja-vu security model
  4. Issue 3747: transcripts missing from a live index
  5. Issue 595: edit-span parser coverage
  6. Issue 528: team memory over Git

More dev tools reviews

ish · dex · neomacs · smolvm · pingora · wx-cli · the whole board →