Documentation · v0.1.0

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
seshy — ~/repos/orchy
~/repos/orchy · 23 sessions · 7 agents
filter › deploy
2m agoclaudestop the deploy. i lied in the PR description.
1h agocodexdeleted prod. it's fine. is it fine?
3h agodroidthere's a meeting about me now
↑↓ move/ filterp previewh headless resumeq quit

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.

seshy list — ~/repos/myapp
$ seshy list ~/repos/myapp
 
AGE AGENT PROMPT
2m ago claude fix the failing auth test
1h ago codex add a /health endpoint
4h ago grok refactor the config loader
 
# piped? same data, as JSON.

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.

seshy last
$ seshy last
resuming claude · 2m ago · ~/repos/orchy
exec: claude --resume 9f3a…c1

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
seshy all
showing 50 of 1,284 · all repos
filter › orchy
2m agoclaudeorchy · wire the nudges digest
1h agocodexorchy · add /health endpoint
3h agodroidorchy · fix the schedule worker
↑↓ move/ filterh headless resumescroll to load more

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.

seshy sessions
$ seshy sessions | jq '.[0]'
"agent": "claude",
"dir": "~/repos/orchy",
"id": "9f3a…c1",
"mtime": "2026-06-07T11:58:02Z",
"path": "~/.claude/…/9f3a.jsonl",
"resume": "claude --resume 9f3a…c1"

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 — hides claude -p / Agent-SDK sessions
  • hideCodexExec — hides codex exec sessions
  • h in any picker toggles both live and saves the change here
seshy config
$ seshy config set hideClaudeHeadless true
ok · claude -p sessions now hidden
 
$ seshy config
hideClaudeHeadless true
hideCodexExec false

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 topic
  • seshy — list, summarize, and resume sessions
agent — using the skill
user: find where we fixed the auth test
 
→ seshy search "auth test" -i
found 2 matches across claude, codex
resume: claude --resume 9f3a…c1

Commands reference

The full surface area at a glance.

CommandWhat 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 allInteractive picker of the most recent sessions across every repo. Pages as you scroll.
seshy sessionsEmit 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 configShow current config values.
seshy config set <key> <true|false>Toggle a config key (hideClaudeHeadless, hideCodexExec).

Flags reference

FlagEffect
-C, --cwd <dir>Run as if invoked from <dir>.
--allInclude 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.
-isearch only — case-insensitive match.
--regexsearch 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