ThreadHop indexes every coding-agent transcript on your machine — Claude Code, Codex, OpenCode, pi, Cursor, Antigravity, Gemini CLI — into one local SQLite store, searches them in milliseconds, and lets any session borrow another's context with a single ticket.
Every transcript on the machine is indexed into one SQLite FTS5 table as it changes. Press /, type, and results jump you to the exact message — across projects, across agents, in milliseconds.
One chat already worked it out. prepare freezes that session into a ticket — a short summary of the head plus the last exchanges verbatim. receive pastes it into any other chat, on any other agent. Reading a ticket costs zero LLM calls.
Select a message or a range, then copy it with source labels, export it, or bookmark it — as a keeper or a research follow-up. Every session carries a status, and the board shows them as columns.
Nothing to switch to. From inside any agent chat, !threadhop … runs instantly with no model turn, and the plugin adds /threadhop:* slash commands. The TUI is there when you want the whole picture.
Transcripts are read in place from each agent's own folder. The index, bookmarks and tickets live in ~/.config/threadhop. No server, no account, no telemetry. The only network call is the one you asked your agent to make.
Five chats circling the same problem across three agents? Group them. ThreadHop reads the group as one thread — shared decisions, open questions, what changed between them — so you analyse the investigation, not the individual sessions.
One command. Your agents keep working exactly as they do — ThreadHop just reads what they write down.