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, andstats, all accepting an explicit--dbflag 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
Your membership also unlocks:








