Getting started

deja is a single zero-dependency binary. It reads the session logs your coding agents already write, builds a local search index, and serves that memory back to the agents over MCP. Nothing leaves your machine.

deja demo: searching indexed coding-agent history — exact match, natural-language fallback, and blame on a file

real output: search, natural-language fallback, blame — retroactive over sessions from before install

Install

curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh
# or
brew install vshulcz/tap/deja-vu
npm  install -g @vshulcz/deja-vu
go   install github.com/vshulcz/deja-vu/cmd/deja@latest

Search your history

The first search builds the index automatically from every agent history it finds — retroactively, including sessions from before you installed deja.

deja "connection pool exhausted"
deja "have we dealt with jwt refresh rotation before"
No deja index step is required — any search, recall, or install builds and refreshes the index as needed.

Wire it into your agents

deja install --all      # MCP recall for every agent found on this machine
deja install --auto     # same, plus session-start auto-recall where supported

After that, an agent can call recall the moment you reference past work — see Agents & MCP. Confirm the wiring any time with deja doctor.

Optional: semantic recall

If you run a local embedding endpoint (Ollama, LM Studio), deja embed adds a vector sidecar so rephrased queries still match. Without one, deja works exactly as before. See Search.