Interactive picker
seshy [path] opens a fuzzy-searchable TUI for a directory. ↑↓ move, / filter, p preview, ↵ resume, q quit.
Run seshy in any repo for a terminal UI of every past agent session that ran there — newest first, color-coded. Fuzzy-find it, hit Enter, you're back in the real conversation.
Beyond one repo: seshy all spans every repo on the machine, seshy search greps every agent's history, 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.
Hit p and the pane opens the session's first prompt, its last message, and the exact native resume command — so you land in the right conversation, not a guess.
Resume is native and lossless: seshy execs the agent's own resume command in the right directory and hands you the real thread. Read-only — it never modifies your history.
Plain content search is the easy part — seshy greps every session across every agent. The real win is provenance: it lets your agent trace your whole history fast, so “which session did we set up the rate limiter?” gets answered in seconds — with the command to resume that exact thread.
seshy ships two Agent Skills so your agent searches and resumes conversationally — no copy-pasting session ids.
seshy search <pattern> — content search across all agents; excerpt + resume per hit (-i, --regex)conversation-search & seshy — bundled Agent Skills for conversational recallresume command — straight back into the threadSeven 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.
Drop non-interactive runs — claude -p / Agent-SDK and codex exec — from every listing. Toggle them live in any picker with h, or persist with hideClaudeHeadless and hideCodexExec.
Scope and shape any command with -C/--cwd, --all, --agent, -n/--num, and -o/--format.
Bundled conversation-search and seshy Agent Skills let an agent search and resume your history conversationally.
list, sessions, and search print JSON the moment they're piped — each record carrying its native resume command. Shape it with -o table|json|ndjson.
Hide non-interactive runs so lists stay on real conversations. Toggle live with h in the picker, or set them once — either way it persists to ~/.config/seshy/config.json.
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