Skip to content
Agent Memory
MCP

deja

Ships with deja-vu: Coding agent memory for Claude Code, Codex, Cursor and 40 more, built from the session history already on your disk. Local search, MCP and hooks, no LLM, one Go binary.

From plugin
deja-vu
1.4k2 skills2 commands1 MCP

Claude Code

> /plugin marketplace add vshulcz/deja-vu
> /plugin install deja-vu@deja-vu

Security report

Info

Not enough data

  • Known flaws

    Not published

  • Signed build

    Not published

  • Maintained

    Nov 1, 2026

    Last push

  • Licence

    MIT

  • Runs as

    Local process

    On your machine

  • Deprecated

    Not published

Signals from public registries, not an audit. Checked Nov 11, 2026.

deja-vu README

deja-vu

#1 Go Repository Of The Day

CI

Coverage

Release

MCP Toplist

MIT License

The same question put to the same agent twice: without memory it has no record of it, with deja it answers with the decision from eight months earlier

curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh
deja install --auto

Search it yourself

deja with no arguments opens a terminal search across every agent's history — starting with the sessions behind your uncommitted changes, then recent work in the current project.

Typing a search in the deja screen, reading the session it found, and continuing that session in another agent

  • Navigate: ↑↓ picks a session, ↵ opens at the match, / searches inside a session, ] [ jump between turns, ^s toggles date/relevance sort (deja search --sort date).
  • Filter: by agent (codex:), time (today, yesterday, week, month), or project (in:<project>).
  • Resume or hand off: r reopens the session in its native agent; o continues it in another agent with its goal, decisions and open work.
  • Recover deleted chats: tab switches between this project, all projects, and Deleted (sessions an agent purged that deja still holds); R restores one, D deletes (deja delete <id>), ? lists all keys.

Prefer a browser? deja view exports the store — sessions, the recall audit trail, and promoted notes — into one local HTML file (try the live demo). With DEJA_TUI=0 (or deja brief), deja prints a plain-text summary.

Highlights

  • Starts full on day one. Months of existing transcripts across all forty-three agents are searchable immediately — fix a bug in Codex and Claude Code, Cursor or OpenCode recalls it.
  • Automatic recall via hooks & MCP. Surfaces prior sessions at session start, before a file edit or command runs, and when a command fails.
  • Survives compaction. Over 43 measured compactions, summaries kept 77% of decisions and 0.2% of commands; deja hands back the rest (how).
  • Indexes code changes, not just chat. Tracks opened files, commands with exit codes, and exact Edit spans (deja blame <file>:<line>, deja restore <path>).
  • Tracks decision lifecycle & staleness. deja promote <id> --state rejected marks a reverted approach so later hits warn why it was dropped (--state accepted takes the mark back), and hits report when files touched by a session have changed since.
  • Local and private by default. Zero LLM calls, no cloud account, and automatic credential redaction at index time (privacy).

Your own work, wrapped

deja stats --card draws your yearly agent activity in the terminal or writes an SVG for your GitHub profile (convert to PNG in browser).

deja stats card: a year of agent sessions as a heatmap, the agents they came from, and the longest one

Install

install.sh places the deja binary in ~/.local/bin, and deja install --auto wires MCP recall and hooks into every detected agent and builds the initial index (~10s).

What deja prints after the first index: the mark, the agents it found, and a query taken from your own history

Open a new session in any wired agent and it already knows what you solved in that repository — or ask it directly (have we dealt with jwt refresh rotation before?).

Homebrew, Windows (Scoop / winget), npm, plugin marketplaces, and binary-only setup

brew install deja-vu, go install github.com/vshulcz/deja-vu/cmd/deja@latest, or npx @vshulcz/deja-vu "query" to try it without installing anything. Desktop apps that take MCP servers as bundles can open the .mcpb from the latest release; it carries the binary.

Codex CLI, opencode, Claude Code, Qwen and OpenClaw can also install the plugin bundle directly from their own marketplaces or registries (see Harnesses with a package of their own, plus cursor-plugin/ for Cursor). Copilot CLI installs the marketplace bundle too, though it takes only the skill there — use deja install copilot-auto for hooks and MCP:

codex plugin marketplace add https://github.com/vshulcz/deja-vu && codex plugin add deja-vu@deja-vu
opencode plugin opencode-deja
claude plugin marketplace add vshulcz/deja-vu && claude plugin install deja-vu@deja-vu

On Windows the install script exits with unsupported OS — it is a shell script. Use Scoop, from the main bucket every Scoop install already has, or winget, which ships with Windows:

scoop install deja-vu
winget install vshulcz.deja-vu

Or take deja-vu_<version>_windows_amd64.zip from the latest release and put deja.exe on your PATH, e.g. in %USERPROFILE%\.local\bin.

The binary alone is a complete install for searching: index, search, show, ctx, blame, --json and redaction need nothing else. deja install is what wires MCP into your agents and turns on session-start recall — worth having, and optional. On a binary-only setup deja doctor reports every MCP target as config missing, or not-wired where the agent is installed, which is that setup working as intended. deja warmup also leaves a skill at ~/.agents/skills/deja-search/SKILL.md that teaches an agent the CLI contract — deja recall, ctx, blame, how to read the recall page and ask for the next one — so it knows history is searchable without MCP. The copy in the repo is skills/deja-search/SKILL.md.

deja install --all is --auto without the session-start recall: agents answer from memory when they decide to call it, rather than starting each session with it. The agent setup guide covers what each harness supports, aider's read-only context file, and the Windows cmd /c deja mcp wrapper.

What gets written into each agent's own guidance file

Install also writes user-level guidance for the harnesses it detects: Claude Code, Codex, opencode, Gemini CLI, Antigravity, Qwen, Kimi Code, pi, Senpi, Copilot, VS Code Copilot Chat, Goose, OpenClaw, Hermes, Roo Code, omp, Amp, prime-agent, DeepSeek Harness, Continue, Crush, CodeBuddy Code, WorkBuddy, Zed, TRAE CLI, TRAE IDE, Muse Code, CodeWhale, ZCode and Junie each get it in their own guidance file (or under the configured XDG_CONFIG_HOME). Re-run rewrites deja's skill or marked block without changing surrounding user content. Use deja install --all --no-guidance to opt out; Grok Build and Devin CLI get the shared skill in ~/.agents/skills, which is what they read; the ~/.grok/GROK.md written beside it is for the unrelated community CLI that shares that directory. Cursor has no user-level instructions file, so it gets the shared skill in ~/.agents/skills — one of the four places Cursor reads skills from — read only when something looks relevant rather than every session. Kilo Code, gajae-code, Kimchi, Command Code, Cherry Studio and Reasonix get the skill, MiniMax Code gets it inside the plugin package, and Kiro the skill and a steering file, from their own install target.

Privacy

Indexing and search are local. The network is used only by deja update, deja sync ssh, the version check in deja doctor, deja embed against an endpoint you configure (and, once it has built the semantic sidecar, each search, which sends the query to that

@vshulcz
Ships withdeja-vu
1.4k2 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.4k
Star history of vshulcz/deja-vu on GitHub, a chart by star-history.com

More MCP servers from other plugins.

cmem

cmem

MCP

Ships with claude-mem: Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions,…

claude-memtoday116k
@thedotmack@thedotmackInstall MCP
mempalace

mempalace

MCP

Ships with mempalace: Local-first AI memory. Verbatim storage, pluggable backend, 96.6% R@5 raw on LongMemEval — zero API calls.

mempalace11d60k
@mempalace@mempalaceInstall MCP
mempalace

mempalace

MCP

Ships with mempalace: Local-first AI memory. Verbatim storage, pluggable backend, 96.6% R@5 raw on LongMemEval — zero API calls.

mempalace11d60k
@milla-jovovich@milla-jovovichInstall MCP

Questions about deja.

Which coding agents can use deja?
deja works in any agent that reads an MCP config file: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf. Each agent reads it from its own file; this page names the file for each one.
How do I add deja to Claude Code?
Run these in order, one at a time. 1. In Claude Code: /plugin marketplace add vshulcz/deja-vu 2. In Claude Code: /plugin install deja-vu@deja-vu