Fix it in Codex, and Claude Code remembers. deja indexes the sessions all 41 of your coding agents already wrote to disk — months of history from before you installed it — and hands the right one back in whichever agent asks.
curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh
then deja install --auto — ten seconds to install, ten to index, and the next session already knows
you › prepared statement errors behind pgbouncer. again.
claude › recall("prepared statement pgbouncer")
Nov 29 2025 · payments · 20 ms no model, no network
pgx v5.5 changed prepared-statement caching; pgbouncer cannot hold those across connections. we pinned pgx 5.4.3 — revisit when 1.24 ships support.
claude › You hit this in November and pinned pgx 5.4.3. Same cause here — the pin was lost in the last dependency bump.
The most accurate, the cheapest and the fastest coding-agent memory we could measure. I maintain deja-vu, so every driver and the corpus are in the repository — re-run a row you doubt. All the runs.
A memory that records forward knows nothing about last March. deja starts full.
The transcripts are the memory. There is no capture step to remember to run and no stack to stand up — your agents have been writing this to disk all along.
deja with no arguments opens a search over every
agent's history, in the terminal you already have open.

It opens on the sessions behind your uncommitted change, then the recent ones in this project, and the list answers as you type. ↵ reads a session at the match, r resumes it in its own agent, o continues it in any other agent with what it asked, decided and left open. Type codex:, yesterday or in:api to filter, and / inside a session to find a word in it. tab switches between this project, all projects and Deleted, the sessions an agent deleted that deja still holds; ? lists every key. DEJA_TUI=0 keeps a bare deja to the text brief.
Type what you half-remember. Get the session where it was solved.
demo corpus: 16 synthetic sessions — press / anywhere to search. The real thing searches your own history, retroactively.
Every coding agent writes its sessions to disk. deja parses those stores in place — nothing is uploaded.
Credentials are stripped on the way in. Tens of seconds for a couple of gigabytes, and the index is about a tenth of the corpus.
An MCP tool every agent can call, and hooks where the agent has them: at session start, before a file is edited or a command runs, after one fails, and on the way back from a compaction.
Solve it in Codex. Claude remembers.
Your own work, wrapped.
deja stats --card draws it in your terminal; give it a filename and it writes the SVG for a profile README; this page turns that SVG into a PNG in your browser.
Nothing leaves your machine unless you ask it to.
Indexing and search are local. Keys, tokens, private key blocks and a password someone typed into the chat are stripped at index time, so the cache is safe to keep. No account, no telemetry — even this page keeps what it remembers about you in your own browser.
Does my agent remember previous conversations? · Why it forgets · It lost the context you had · The context window is full · What compaction dropped · It repeats a mistake you fixed
Claude Code Codex Cursor Copilot CLI opencode Gemini CLI Qwen Code Roo Code prime-agent Continue Crush Amp VS Code Copilot Chat Kimi Code DeepSeek Harness Grok Build Zed OpenClaw Goose Cline pi and omp Hermes memory for each, set up in a minute
ten seconds to install, about ten to index — then the next session already knows
curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh
Found this useful? Star deja-vu on GitHub.