Every subcommand, every flag.
seshy is a single static Go binary with zero dependencies. It reads the history of seven coding agents and hands you back the native command to resume any session. Here is everything it does.
The interactive picker
Run seshy in any directory to open a fuzzy-searchable terminal UI of every session that ran there, newest first, color-coded by agent.
seshy [path]
With no arguments it uses the current directory. Pass a path to point it elsewhere. Inside the picker:
- ↑ / ↓ — move the selection
- / or just type — fuzzy-filter by prompt or agent
- p — toggle the preview pane
- h — hide/show headless & automated runs (persists to config)
- ↵ — resume the selected session
- q — quit without resuming
list & summary
Non-interactive readouts. list is a table for humans (JSON when piped); summary is a compact digest tuned for agents.
seshy list [path]
A scannable table of sessions in a directory. When the output is piped, it switches to JSON automatically — no flag needed.
seshy summary [path]
A compact digest of a project's sessions, designed to be cheap for an agent to read and reason over.
last
Skip the picker entirely. seshy last resumes the single most recent session in a directory.
seshy last [path]
The fastest way back into whatever you were just doing. seshy finds the newest session for the directory and execs that agent's native resume command immediately.
all — every repo on the machine
An interactive picker of the most recent sessions across every repo. It pages — loading a page at a time and pulling in more as you scroll — so it stays instant even with thousands of sessions.
seshy all
The header shows "showing N of M" so you always know how much is loaded. Repo names are fuzzy-filterable, so you can jump to any project from anywhere.
- Most-recent-first across all repos
- Pages in more results as you scroll
- Fuzzy-filter by repo name
sessions — the JSON index
Every session across all agents and repos as JSON: an uncapped index for tooling and pipelines. It returns path, agent, dir, mtime, id, and resume — without reading file contents, so it stays fast.
seshy sessions
Where list is scoped to a directory, sessions is the whole machine. Use it to feed dashboards, build your own picker, or index your history however you like.
search — across all your history
Content search across all agents. Each hit prints an excerpt and the native resume command. Global by default; pass a path to scope it.
seshy search <pattern> [path]
Find that conversation where you solved this exact thing before. Flags:
-i— case-insensitive match--regex— treat the pattern as a regular expression- Pass a path to scope the search to one project
config — hide headless runs
Two optional toggles keep non-interactive sessions out of every listing. Toggle them live with h in the picker, or set them on the command line. Settings live in ~/.config/seshy/config.json (XDG-aware) and are off by default.
seshy config / seshy config set <key> <true|false>
Headless and exec runs can dominate a busy history. Toggle them off and they disappear everywhere seshy lists sessions.
hideClaudeHeadless— hidesclaude -p/ Agent-SDK sessionshideCodexExec— hidescodex execsessions- h in any picker toggles both live and saves the change here
Agent Skills, included
seshy ships two Agent Skills in the repo's .claude/skills/ so an agent can search and resume your history conversationally.
conversation-search & seshy
Drop them into a project and your agent can answer "find where we set up the rate limiter" or "resume the deploy session from this morning" — powered by the same binary.
conversation-search— search history by topicseshy— list, summarize, and resume sessions
Commands reference
The full surface area at a glance.
| Command | What it does |
|---|---|
| seshy [path] | Open the interactive picker for a directory (defaults to the current directory). |
| seshy list [path] | Print a table of sessions for a directory. Emits JSON when piped. |
| seshy summary [path] | Print a compact, agent-friendly digest of a project’s sessions. |
| seshy last [path] | Instantly resume the most recent session in a directory. |
| seshy all | Interactive picker of the most recent sessions across every repo. Pages as you scroll. |
| seshy sessions | Emit every session across all agents and repos as JSON (uncapped index). |
| seshy search <pattern> [path] | Content search across all agents. Prints an excerpt + resume command per hit. |
| seshy config | Show current config values. |
| seshy config set <key> <true|false> | Toggle a config key (hideClaudeHeadless, hideCodexExec). |
Flags reference
| Flag | Effect |
|---|---|
| -C, --cwd <dir> | Run as if invoked from <dir>. |
| --all | Include sessions from subdirectories, not just the exact path. |
| --agent <name> | Limit results to a single agent (claude, codex, grok, pi, opencode, agy, droid). |
| -n, --num <int> | Limit the number of results returned. |
| -o, --format <fmt> | Output format: table, json, or ndjson. |
| -i | search only — case-insensitive match. |
| --regex | search only — treat the pattern as a regular expression. |
Install seshy.
A single static binary, zero dependencies.
Homebrew
macOS & Linux, kept up to date.
brew install buddyh/tap/seshy Go
Build from source with the Go toolchain.
go install github.com/buddyh/seshy@latest