vshulcz

deja-vu: Search Coding-Agent History for Reusable Memory

deja-vu is a Go-based local memory tool that indexes existing session history from Claude Code, Codex, Cursor and 39 more coding agents. It provides search, MCP recall and hooks without requiring an LLM, so agents can reuse earlier decisions and fixes.

Stars
1.2k
Forks
128
Stars, last 12 days
+105
Last commit
today
Contributors
55

Our take

Newless than six months old and changing fast

Health score

78/100

How it is scored
Activity
87
Community
44
Issues
94
Pull requests
85

+105 stars in the last 12 days

  • Merges more pull requests than 99% of the projects we track
  • Releases more often than 90% of the projects we track
  • Closes issues faster than 82% of the projects we track

deja-vu offers a practical, local-first approach to coding-agent memory, but its rapid development and highly concentrated contribution profile call for a deliberate evaluation before relying on it in critical workflows.

Good fit if

  • You use several supported coding agents and want them to search the same existing session history.
  • You prefer local lexical search and MCP recall without requiring an LLM, while keeping embeddings optional.
  • You are comfortable evaluating a fast-changing project with active releases and recent issue and pull-request handling.

Look elsewhere if

  • Your workflow depends on a mature project with development and maintenance broadly distributed across contributors.
  • You need all recall to be generated semantically without setting up an embeddings endpoint, since semantic recall is optional rather than the default.
  • You need a Windows path with the same level of field maturity as macOS and Linux; the README describes Windows support as less battle-tested.
All health signals
Last commit2026-10-18 (today)
Commits, last 90 days100+
Releases, last 12 months69 (latest nightly, 2026-10-18, pre-release)
Contributors55 (top contributor: 93% of commits)
Issues closed, last 90 days50+ (typically closed in 0 days)
Pull requests merged, last 90 days99 (typically merged in 0 days)
Project age3 months

Checked on 2026-10-19 with the GitHub API.

Overview

deja-vu is a Go binary for shared coding-agent memory, built from the session history already on disk. It indexes histories from Claude Code, Codex, Cursor and 39 more agents, then makes prior work available through local search, an MCP server and hooks. The project targets developers who want agents to reuse past decisions and fixes rather than start from an empty context or rely on manually written notes.

Search and indexing work locally without an LLM. Optional semantic recall can use a configured embedding endpoint, but lexical search and MCP recall remain available without one. It supports macOS, Linux and Windows, with the README describing macOS and Linux as the more established paths.

Key Features

  • Indexes existing agent session files, including JSONL and SQLite stores, with incremental updates.
  • Searches across supported agents through a CLI and terminal interface, with filters for agent, time and project.
  • Serves recall and related operations through MCP, and can install hooks for session-start and other automatic recall.
  • Provides commands to inspect prior work, including wip, blame, fix, how, and ctx.
  • Redacts recognized credential patterns from indexed content and supports finding or scrubbing credentials in source transcripts.
  • Supports session handoff, resuming, curated notes, and moving an index between machines.
  • Offers optional semantic search through a configured OpenAI-compatible embeddings endpoint or local Ollama and LM Studio services.

Use Cases

  • A developer switching between Claude Code, Codex or Cursor can search decisions and fixes made in another agent.
  • A team member returning to a project after weeks or months can recover prior context from session history without having created memory notes beforehand.
  • An agent can receive relevant past decisions at session start or through MCP when a task or error resembles earlier work.
  • A developer investigating a recurring error or a file’s history can find past commands, discussions and sessions associated with it.

What you need

Detected in the repository

  • Node.js >=18 (from package.json)
  • Go 1.25 or newer (from go.mod)
  • A Dockerfile, so it can run in a container
  • Automated checks on GitHub Actions

License in plain words

MITpermissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the copyright and license notice
  • Share your changes: no

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

On macOS or Linux:

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

See the README for Windows installation, agent-specific setup and configuration details.

Alternatives

  • ai-memory: ai-memory captures coding-agent activity into a git-backed Markdown wiki, while deja-vu indexes existing session histories for search and recall.
  • cq: cq stores and validates reusable lessons contributed by agents, rather than primarily indexing past agent sessions for recall.
  • open-timeline-engine: Open Timeline Engine captures work over time and finds patterns with citations and safety gates; deja-vu searches existing session histories.
  • plur: PLUR stores shared memory as readable YAML files for conventions and corrections, rather than indexing past coding-agent conversations.
ProjectLanguageLicenseStarsStatus
deja-vuGoMIT1.2kNew
ai-memoryRustMIT9.1kNew
cqGoApache-2.01.3kActive
open-timeline-enginePythonApache-2.09Active
plurTypeScriptApache-2.0298Active

Considerations

  • The project is new and changing quickly. The health data shows frequent commits and releases, but also that most contributions come from one person, despite a larger contributor pool. This concentration may affect continuity.
  • The README calls macOS and Linux the battle-tested paths; Windows builds and CI exist, but the project asks for field reports.
  • The Go binary is central, and the documented build requires Go 1.25. Node.js 18 or later is also listed as a requirement. Docker is marked as required in the project facts.
  • Credential redaction is pattern-based. The README warns that unknown secret formats may pass through, and source transcripts can still contain credentials unless scrubbed.
  • Semantic recall sends redacted indexed text to the configured embeddings endpoint. Teams using a remote endpoint should account for that data flow; local search does not require it.

Found this useful?

Share it with someone who would like deja-vu.

Comparisons