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.

