By pcvelz
Search and extract Claude Code chat history with keyword matching, session extraction, and local LLM analysis
Step 1 of the chat-recall chain: identify WHICH past Claude Code session the user means, then continue STRAIGHT INTO /summarize-chat (recap/questions) or /search-chat (content/quotes) — one autonomous flow, the user never needs a session ID or a second command. Trigger this proactively whenever the user gestures at an earlier chat or at past work WITHOUT giving a session ID: 'find the last chat where we discussed X', 'which session was that', 'which session made/edited/produced these changes', 'what are these uncommitted changes for', 'where did this working-tree state come from', 'look back at previous chats', 'what did we work on yesterday', 'the chat about the staging deploy', 'pull up our earlier session on the redis bug', 'go back to when we set up the scheduler'. Returns candidate sessions (id, last-activity date, opening prompt), scoped to the CURRENT project by default; say 'all projects' to widen. When one candidate clearly matches, do NOT pause — invoke the downstream command in the same turn; confirm with the user only when candidates are genuinely ambiguous.
Extraction step of the chat-recall chain: search the CONTENT of previous Claude Code sessions and extract conversation text — full-text/keyword search across transcripts, find where we talked about a topic, what we discussed, what was the fix, the exact error, which session touched this file or made these changes, remember that bug, pull quotes from a past chat. Use when a session ID is known (paste it from the status bar, or arrive here from /find-chat) — shows last 200 lines by default — or when searching all transcripts by topic. No session ID and no searchable topic? Start at /find-chat (step 1 of the chain): it resolves the session and flows back here.
Recap step of the chat-recall chain: summarize OR answer a question about a past Claude Code session by ID. Use when the user wants a recap of a prior session, a quick readout of what happened before, a digest of an earlier chat, OR asks a specific question about a past session — 'what was that session doing', 'what did it plan to do next', 'what were these changes for'. Requires a session ID: short 8-char prefix (e.g. 86017339) or full UUID, optionally followed by the question. No ID? Run /find-chat first (step 1 of the chain) — it resolves the session and flows straight back here. Default: Haiku (fast, cheap, detail sweet spot). Flags: --detailed (Sonnet, exhaustive), --eu (scw 120 Devstral, GDPR-safe offline hedge).
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A Claude Code plugin that lets you talk naturally about past sessions and get answers. No special syntax needed — just describe what you're looking for.
With ccstatusline-usage your status bar shows the Session ID at all times:
Session: [██░░░░░░░░░░░░░] 11.0% | Weekly: [█████████░░░░░░] 57.0% | 3:47 hr | | Model: Opus 4.6[1m]
Session ID: 26083761-5c49-4a70-a2ec-8526f05c65f6
Context: [░░░░░░░░░░░░░░░] 30k/1M (3%) | Pace: [░░░░░██|░░░░░░░] D7/7 -28%
Copy that Session ID and mention it naturally in a new conversation:
"I had an issue in session 26083761 — can you look up what happened?"
The agent retrieves the last 200 lines of context automatically — no special commands needed.
/plugin marketplace add pcvelz/cc-search-chats-plugin
/plugin install search-chats@cc-search-chats-marketplace
/plugin install --source url https://github.com/pcvelz/cc-search-chats-plugin.git
Just tell Claude what you need. The plugin handles the rest.
"Find sessions where we discussed API integration"
"Search for CORS issues across all my projects"
"What did we talk about regarding database migrations last week?"
"Look for any session mentioning 502 gateway errors"
/find-chat — identify a past sessionUse when you refer to an earlier chat but don't have its session ID:
It returns a short list of candidate sessions (id, date, opening prompt),
scoped to the current project by default, then nudges you toward
/summarize-chat <id> (recap) or /search-chat <id> (content). It does not
print transcript content itself — it's the find step before those.
"What did we talk about in session bbfba5e4?"
"Show me session bbfba5e4-c5e7-4464-af03 — I need to pick up where we left off"
"Help me fix the server memory issue I found during session 26083761"
When you want a digest rather than the full transcript:
"Summarize session 38c00401"
"/search-chats:summarize-chat 38c00401" — Haiku summary (default)
"/search-chats:summarize-chat 38c00401 --detailed" — Sonnet, exhaustive recall
"/search-chats:summarize-chat 38c00401 --eu" — Scaleway Devstral (GDPR-safe hedge)
The command extracts the last ~2000 lines of the session to a tmp file and dispatches a summarizer subagent — the transcript never lands in your main context, so you can summarize arbitrarily long sessions cheaply. Model choice backed by an empirical 19-fact-recall benchmark.
"Show me the last 50 lines from session bbfba5e4"
"Extract session bbfba5e4 and show me only the lines about chrome errors"
"Pull up session e7f2b08c and find the part about the fix for the preflight response"
"Get everything from session bbfba5e4 that mentions error or warning or failed"
The plugin figures out what you mean from context:
| What you say | What happens |
|---|---|
| "Find sessions about CORS policy" | Searches all sessions for CORS-related discussions |
| "Look up session e7f2b08c" | Tries as session ID first, falls back to text search if no match |
| "From session e7f2b08c, show me the Allow-Origin lines" | Extracts the session and filters to matching lines |
| "What was the fix for the preflight response in session e7f2b08c?" | Longer question detected — extracts full session for the agent to interpret |
| "Search for CORS across all my projects" | Searches every project's chat history, not just the current one |
How filtering works: Short references (1-4 words) are used as keyword filters. Longer questions (5+ words) are treated as instructions — the full session is extracted so the agent can interpret it semantically. Session IDs that don't match any session fall back to text search automatically.
"Search for deploy failures across all my projects"
npx claudepluginhub pcvelz/cc-search-chats-plugin --plugin search-chatsFind and resume Claude Code conversations using semantic search. Returns session IDs and project paths for easy resumption via 'claude --resume'.
Search across Claude Code and OpenClaw session history. Find past conversations, decisions, and code snippets instantly.
Persistent local memory for Claude Code. Every tool call, every file edit, every thinking block from every session — stored verbatim on your machine. Semantic recall in ~126ms with zero API calls.
Semantic search for Claude Code conversations. Remember past discussions, decisions, and patterns.
qrec session recall engine
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns