Claude Code, Codex and opencode forget everything between sessions — but the solutions are still on your disk. deja indexes those histories and serves them back, to you and to the agent.
curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh
After deja install --all, every agent on your machine gets a recall tool over MCP.
api-gateway project (a Codex session). Login broke after key rotation: the jwks cache wasn't reloaded after rotateKey. You fixed it by reloading the cache and adding a clock-skew test. Want me to apply the same pattern here?Two tools — recall and recall_context — answers stay under ~4KB, cheap on context. One command wires it into Claude Code, Codex and opencode.
All your harnesses write session logs to disk. deja indexes them together — a fix found in Codex is recalled inside Claude Code.
No network code exists in the tool. Local files in, local cache out. A single Go binary with zero dependencies.
Pick one, then run deja install --all to wire up your agents.
curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh
brew install vshulcz/tap/deja-vu
go install github.com/vshulcz/deja-vu/cmd/deja@latest
npx @vshulcz/deja-vu "your query"
deja parses the local history stores each harness already writes (~/.claude/projects, ~/.codex/sessions, opencode's SQLite db) into an incremental inverted index in ~/.cache/deja. Only changed files are re-read on each run. The MCP server exposes the same index to agents. Details in ARCHITECTURE.md — adding a harness is one parser file.