Skip to content

Deja Vu

Coding agent memory for Claude Code, Codex, Cursor and 39 more, built from the session history already on your disk. Local search, MCP and hooks, no LLM, one Go binary.

Install

$npx skills add https://github.com/vshulcz/deja-vu --skill deja-search
Claude Code
claude mcp add deja-vu -- npx skills add https://github.com/vshulcz/deja-vu --skill deja-search
Cursor / Claude Desktop (mcp.json)
{
  "mcpServers": {
    "deja-vu": {
      "command": "npx",
      "args": [
        "skills",
        "add",
        "https://github.com/vshulcz/deja-vu",
        "--skill",
        "deja-search"
      ]
    }
  }
}

Install command taken from the project's README or registry entry. Always review code before running it.

Your coding agents stop re-debugging what you already fixed.

Claude Code, Codex, Cursor and 39 more agents already save every session to disk. deja indexes all of it, months back, and hands the part that matters to whichever agent is working now.

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Português | Français | Deutsch | Русский | Türkçe | हिन्दी

Nobody searched anything — the agent called deja itself. Two real runs against a synthetic corpus: nobody's history is published.

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

macOS and Linux; ten seconds to install, about ten to index · Windows, Homebrew, npm and the rest

I maintain deja-vu, so every driver, the corpus and the scoring rule are in this repository · the head-to-head, and how to re-run a row you doubt · every run

Docs · Benchmarks · How it compares · Building it into your tool

Found it useful? Star deja-vu on GitHub.

Search it yourself

deja with no arguments in a terminal opens a search over every agent's history. It starts on the sessions behind your uncommitted change, then the recent ones in this project, and the list narrows as you type.

  • ↑↓ picks a session, ↵ opens it at the match, n and N step through the matches, esc goes back. Inside a session, / finds a word and ] [ jump between the turns you asked.
  • The box takes filters: an agent with a colon (codex:), today, yesterday, week, month, and in:.
  • r resumes the session in the agent that wrote it. o continues it in any other agent, which starts with what the session asked, decided and left open.
  • tab switches between this project, all projects and Deleted, the sessions their agent deleted that deja still holds; R puts one back.
  • ? lists every key, ^k has the rest (copy the session id or project path, forget a session), q quits from the list; esc steps back and quits from an empty search box.

With DEJA_TUI=0 it prints the text summary instead, which is also deja brief. Piped, it prints what is indexed and which command to run next.

Highlights

Similar plugs

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io