claude-recall CLI

A SQLite archive of Claude Code sessions with an MCP server, a terminal UI and a web UI for finding past conversations.

  • 64 ★ on the repository
  • Last commit
CLI

Extended access

Why this level

  • The archive copies the content of every session, including commands and output with secrets, into a local database.
  • Installation runs through a curl | bash script.
All reasons and checks

babarot/claude-recall

Install

Works in

Manual install

curl -fsSL https://raw.githubusercontent.com/babarot/claude-recall/main/bin/install.sh | bash

The README's first method. The script is downloaded and run immediately, so read it first. Then run `recall`.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The archive copies the content of every session, including commands and output with secrets, into a local database.
  • Installation runs through a curl | bash script.

This is third-party code. Review the repository files before installing.

What it does

claude-recall copies every Claude Code session into a SQLite database, including sessions whose JSONL files Claude Code has since deleted. One `recall` binary gives three ways into the archive. The `recall mcp` MCP server lets Claude itself search past sessions and read what was done in them. A terminal UI finds a session and resumes it in place. The `recall ui` web interface shows long conversations with images in a browser. MCP tools are `recall_search`, `recall_list`, `recall_export` and `recall_stats`. The `recap` prompt asks Claude to read where a session ended and sum it up. With the Claude Code plugin, a repository's latest sessions show at startup and the `/recall` command searches the archive.

Who it is for. Claude Code users with long projects whose tasks are spread over dozens of sessions and who need a decision made a week or a month ago.

Good fit when

  • Task 5 needs what was decided in task 3 and Claude should find that session itself.
  • A similar support question arrives months later and Claude Code has already deleted the old one.
  • You need a session you can resume with `claude -r` right from the terminal UI.
  • A long conversation with images is easier to read in a browser than in a terminal.
  • Another agent needs a session ID so it can continue the work.

Not a fit when

  • You do not work in Claude Code: the archive reads only its session logs.
  • Claude reads text someone else wrote, such as a pull request under review: without `recall mcp --repo` it can search other repositories' sessions.
  • The logs must not be copied into a local database: they hold every command and output.

Example request

How did we set up the staging deploy last month? Find that session and recap the decisions.

Limitations

Works with Claude Code sessions. The install script places `recall` in `~/.local/bin`, imports sessions and registers the MCP server when `claude` is on PATH. Through Nix and a source build nothing is imported or connected, which is done separately. Building needs Go, Node.js and mise. The archive keeps conversation contents in full, so secrets from command output stay in the database. The repository has no license file.

How to disable. Remove the MCP server with `claude mcp remove` and the plugin from `~/.claude/skills/`, then delete `~/.local/bin/recall`. Delete the archive database by hand.

FAQ

How do I install claude-recall?

Run `curl -fsSL https://raw.githubusercontent.com/babarot/claude-recall/main/bin/install.sh | bash`, then `recall`. The script places the binary in `~/.local/bin`, imports sessions and connects the MCP server to Claude Code.

Which tools does Claude see?

Four: `recall_search` for full-text search, `recall_list` for the session list, `recall_export` for a session's content and `recall_stats` for archive statistics. Nothing is injected into the prompt up front.

How do I limit search to one repository?

Run the server as `recall mcp --repo <remote-or-dir>`. Search and list return only that repository's sessions, and export will not find others. Use it when Claude reads text you did not write.

How does claude-recall differ from claude-mem?

claude-recall injects nothing into the prompt: Claude calls the tools itself when you ask about the past. The archive keeps sessions whole, including those Claude Code deleted.

How do I connect it through the plugin?

The plugin in the `plugin/` directory ships with each release as `claude-recall-plugin.tar.gz`. It runs `recall mcp`, imports a session with the SessionEnd hook and adds the `/recall` command. The `recall` binary must be on PATH.

Discussion

No questions or reviews yet.

CLI tools

An MCP server for searching your Claude Code conversation history: past solutions, errors, plans and file change history.

MCP serverExtended access180Repository stars

claude-history searches and opens past Claude Code, Codex and Pi conversations in the terminal and gives Claude a history skill

CLIExtended access542Repository stars

Local memory for Claude Code: a single binary indexes past conversations and injects relevant context into new sessions.

MCP serverBroad access230Repository stars

A skill for searching past sessions: a full-text index of Claude Code, Codex, pi and Grok chats in one SQLite database

SkillMinimal access146Repository stars

compound-memory turns your AI chats into memory about you each night and injects it into new Claude Code and Codex sessions

PluginBroad access113Repository stars

README in short

The project offers a way back into any past session: ask Claude to look into it or find it yourself. Examples include sessions of one large task and a customer's repeated question.

README badge

Report a problem