session-indexer

session-indexer creates a per-project SQLite index of Claude Code session history, searchable by semantic similarity via bge-m3 with an automatic FTS5 keyword fallback. It is for developers who need to recall past decisions across long-running pro...

session-indexer

About session-indexer

session-indexer is an open-source command line tool that adds semantic search to your Claude Code session history. It works per project, indexing JSONL transcripts into a local SQLite file and retrieving relevant past context using bge-m3 embeddings run through Ollama. The tool is built as a companion to session-end, with both sharing the same Stop/SessionStart hooks.

Review

session-indexer addresses a specific problem: remembering what was decided in past sessions, not just where you left off. It hooks into Claude Code's session lifecycle to build a searchable index of your history. The tool went live this week and is distributed via go install with an Apache 2.0 license. It has one review so far, with a 4.0 rating. That review is limited, but the maker's own comments and Q&A responses in the launch thread clarify how the tool behaves.

Key Features

  • Per-project indexing that resolves the database path via git rev-parse --show-toplevel, so all sessions in a repository write to the same SQLite file at the repo root.
  • Semantic search over session history using bge-m3 embeddings via Ollama.
  • Automatic fallback to FTS5 BM25 keyword search when Ollama is not running.
  • Auto-injection of relevant past context at the start of a new session.
  • CLI commands mine, search, embed, and stats, all accepting an explicit --db flag to point at a custom database path.
  • Local-only storage; session data never leaves the machine.
  • 75 passing tests.

Pricing and Value

session-indexer is free. It is open source under the Apache 2.0 license. There is no pricing tier or paid plan listed. The value is in removing the dependency on a shared backend: you run it locally alongside your existing Claude Code setup, and it writes to a local SQLite file. No pricing details beyond the free license were found in the reference material.

Pros

  • Hooks into the same Stop and SessionStart events as session-end, so both run together without extra configuration.
  • Per-project isolation is the default; a monorepo automatically shares a single index across all subdirectories.
  • Works without Ollama installed, since FTS5 fallback handles keyword matches with separate database setup.
  • Installation requires only the go binary; nothing is deployed or hosted.
  • Batch processing of historical sessions is possible through the explicit tools, which also accept custom database paths.

Cons

  • Sharing an index across separate repos is not a first-class option today; you'd edit the DB= line in hook scripts manually.
  • Search quality depends on having a local embeddings model set up; keyword fallback only matches literal terms, not synonyms or paraphrases.
  • Not well suited for users who want a centralized or cross-project memory store without managing per-repo configuration, as the default isolation is strict.

The tool fits most naturally for solo developers or small teams that work in distinct repositories and want to recall past disagreements or decisions without leaving the command line. If you have one Claude Code project and need a local, searchable history, session-indexer can likely do the job with little setup. For multi-repo use cases or teams that need a shared context service, you'd either accept manual hook edits to point at one database or wait for the maker's roadmap future iteration on that opt-in feature.



Open 'session-indexer' Website
Get Daily AI Tools Updates

Your membership also unlocks:

700+ AI Courses
700+ Certifications
Personalized AI Learning Plan
6500+ AI Tools (no Ads)
Daily AI News by job industry (no Ads)

Join thousands of clients on the #1 AI Learning Platform

Explore just a few of the organizations that trust Complete AI Training to future-proof their teams.