session-indexer logo

Coding / product dossier

session-indexer

Locally indexes Claude Code sessions for per-project semantic search and context injection.

Product brief

What session-indexer does.

Per-project semantic search over your Claude Code session history — not a shared or centralized memory store. Indexes JSONL transcripts into a local SQLite file, retrieves via bge-m3 embeddings (Ollama) with automatic FTS5 BM25 fallback, and auto-injects relevant past context at session start. Companion to session-end: session-end gives "where I left off," session-indexer gives "what we decided" — same Stop/SessionStart hooks. Apache 2.0, 75 passing tests, go install and nothing to deploy.

Why we selected it

A focused, local-first utility for preserving decisions made in Claude Code sessions, with clear implementation details and open-source availability.

Best for
Claude Code users with long projects
Category
Coding
Daily picks
1
First selected
2026-08-26
session-indexer product preview

Product preview saved with our daily selection

Capability scan

What it can help with.

Only capabilities supported by the product information we collected are listed here.

01

Per-project session search

Provides semantic search over Claude Code session history on a per-project basis.

02

Local transcript indexing

Indexes JSONL transcripts into a local SQLite file rather than a shared or centralized memory store.

03

Embedding retrieval with search fallback

Retrieves with bge-m3 embeddings through Ollama and automatically falls back to FTS5 BM25.

04

Session-start context injection

Automatically injects relevant past context when a session starts.

05

Decision recall companion

Complements session-end: session-end captures where work stopped, while session-indexer retrieves what was decided.

Best-fit use cases

Search earlier Claude Code sessions for decisions made on a long-running project.
Retrieve relevant project context at the start of a new Claude Code session.
Keep session-history indexing local to each project.
Use full-text search fallback when embedding retrieval is unavailable.

FAQ

Before you open it.

What does session-indexer search?

It searches your own Claude Code session history on a per-project basis.

Where is the session history indexed?

JSONL transcripts are indexed into a local SQLite file; the description says it is not a shared or centralized memory store.

How does it retrieve past context?

It uses bge-m3 embeddings through Ollama, with an automatic FTS5 BM25 fallback.

When is retrieved context added?

Relevant past context is automatically injected at session start.

How does it relate to session-end?

The description positions session-end as capturing where you left off and session-indexer as retrieving what was decided; both use Stop and SessionStart hooks.