Interactive picker
seshy [path] opens a fuzzy-searchable TUI for a directory. ↑↓ move, / filter, p preview, ↵ resume, q quit.
You solved this exact thing last week. Which agent was it in? The session's still on disk — you just can't get back to it.
seshy can. Run it in any repo for one fuzzy-searchable list of every past agent session that ran there — seven agents, newest first, color-coded. Hit Enter and you're back in the real conversation, full context.
And the list is just the start: seshy search greps every agent's history, seshy all spans every repo on the machine, and it all pipes to JSON.
Every session carries its exact resume command — pipe it to jq, fzf, or your own agents.
You bounce between Claude, Codex, Droid and the rest — then a week later can't recall which CLI you were in when you fixed that thing. Run seshy in the repo and every past session is right there, newest-first and color-coded by agent. No spelunking through ~/.claude and six other folders.
Native session format in, native resume out — no exporting, no lock-in. seshy reads each tool's store read-only and never touches your history.
All seven in one list, color-coded — or narrow to one with --agent.
seshy execs the agent's own resume command — claude --resume, codex resume — in the right directory, and gets out of the way. The agent restores its own full context. The real thread, lossless, not a summary.
Press p first to be sure: the pane shows the session's first prompt, its last message, and the exact resume command — so you land in the right conversation, not a guess.
seshy search greps the contents of every session across every agent, and every hit comes back with the command to resume that exact thread — so “which session did we set up the rate limiter?” is answered in seconds.
Literal substring or --regex, case-insensitive with -i, scoped by a path or --agent — fast, predictable, grep-shaped search over all seven agents at once.
seshy search <pattern> — content search across all agentsresume command — straight back into the threadseshy all is the same picker, machine-wide: the most recent sessions across every repo, fuzzy-filterable by repo name so you can jump to any project from anywhere. It pages as you scroll — the header shows how much is loaded — and stays instant with thousands of sessions.
Headless and automated runs — claude -p, codex exec — never show up in the native CLIs at all. seshy lists them by default and resumes them like anything else, so your scripted work stays findable. Want a cleaner view? Press h to hide them, or set it in config — it persists.
One unified index over seven agents' sessions — and three ways to use it. You fuzzy-find it. Your agents search it. Your scripts pipe it.
seshy doesn't do semantic search — it's why your agent can.
The bundled Agent Skill turns "find where we set up the rate limiter" into several literal searches over seshy's fast index. The agent expands your intent, reads the excerpts, judges relevance, and hands back the right thread with its resume command. Semantic recall — with no model, no vector store, no daemon in seshy itself.
list, sessions, and search print JSON the moment they're piped — each record carrying its native resume command. seshy sessions is the uncapped, machine-wide index, built without reading file contents. Shape it with -o table|json|ndjson.
Seven agents, every subcommand, a few composable flags — one static binary that's as happy in a pipe as in your hands.
seshy [path] opens a fuzzy-searchable TUI for a directory. ↑↓ move, / filter, p preview, ↵ resume, q quit.
seshy last [path] instantly resumes the most recent session in a directory — no picker, no clicks.
seshy all shows the most recent sessions across every repo on the machine. The picker pages in more as you scroll, so it stays instant with thousands of sessions.
seshy list [path] prints a clean table in the terminal, and flips to JSON the moment it's piped.
seshy summary [path] condenses a project's sessions into a compact digest an agent can read at a glance.
seshy search <pattern> searches across all agents and prints an excerpt plus the resume command per hit. Supports -i and --regex.
seshy sessions emits every session across all agents and repos as JSON — path, agent, dir, mtime, id, resume — without reading file contents.
Toggle p in any picker to see the first prompt, the last message, and the exact native resume command before you commit.
seshy never writes to your history. Picking a session simply execs the agent's own resume command in the right directory.
See and resume the headless, automated runs the native CLIs bury — claude -p / Agent-SDK and codex exec. Shown by default; press h (or set hideClaudeHeadless / hideCodexExec) to hide them when you want a clean list.
Scope and shape any command with -C/--cwd, --all, --agent, -n/--num, and -o/--format.
Bundled seshy and conversation-search skills — your agent finds, summarizes, and resumes past sessions itself, semantically.
seshy is deliberately boring infrastructure: a read-only lens over the session files already on your disk.
A single static Go binary. No runtime, no daemons, nothing running in the background.
seshy reads each agent's store natively and never writes to it. Your history stays exactly where the agents put it.
Install it, run it. The only file seshy owns is its own config — and only if you set something.
MIT-licensed at github.com/buddyh/seshy. Read every line it runs on your history.
A single static binary with zero dependencies. Pick the path that fits your setup.
macOS & Linux, kept up to date.
brew install buddyh/tap/seshy Build from source with the Go toolchain.
go install github.com/buddyh/seshy@latest