resesh
One fuzzy list to find and resume any past Claude Code or Codex CLI session — across every project directory.
resesh scans your Claude Code and Codex history, merges both into a single fzf picker sorted by recency, and on selection drops you back into that session (claude --resume / codex resume) in its original working directory.
Most history tools let you read, search, or export past conversations. resesh is resume-first: pick a session, press Enter, and you're back where you left off — no matter which directory it was in or which of the two tools you were using.
resesh
┌───────────────────────────────────────────────────────────────┐
│ session> │
│ [cc] now ~/Project/rms 重構 workspace 結構 │
│ [codex] 3d ~/Project/sre-kb 查明 ArgoCD 警告 │
│ [cc] 5m ~/dotfile session finder 設計 │
└───────────────────────────────────────────────────────────────┘
Install
curl (recommended)
curl -fsSL https://raw.githubusercontent.com/miyago9267/resesh/main/install.sh | sh
go install
go install github.com/miyago9267/resesh@latest
manual — grab a binary from releases, chmod +x, and on macOS clear the quarantine flag: xattr -d com.apple.quarantine resesh.
Usage
resesh # all sessions, newest first, in an fzf picker
resesh <query> # pre-fill the fzf query (matches tool / cwd / title)
resesh --cc # Claude Code sessions only
resesh --codex # Codex sessions only
resesh --list # print the parsed list as plain text (no fzf)
resesh --version
Type to filter, Enter to resume, Esc to cancel.
How it works
- Claude Code: reads
~/.claude/projects/<cwd>/<uuid>.jsonl, taking each session's working directory and first real user prompt (harness-injected wrappers are skipped). Resumes with cd <cwd> && claude --resume <id>.
- Codex: reads
~/.codex/session_index.jsonl for titles and times, resolves the working directory from the matching rollout file under ~/.codex/{sessions,archived_sessions}. Resumes with codex resume <id>.
Read-only over your history; it never modifies session files.
Requirements
- fzf for interactive selection (
--list works without it).
- Go 1.26+ only if building from source.
macOS note
Release binaries are unsigned (no paid Apple Developer signing for a CLI). The installer strips the Gatekeeper quarantine flag automatically; for manual installs run xattr -d com.apple.quarantine resesh once.
License
MIT