Skip to content

pejmanjohn/resumer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resumer

Resumer interactive session picker

Resumer is a tiny terminal picker for getting back into recent Codex and Claude Code sessions without spelunking through hidden state directories, copying opaque IDs, or guessing which project a conversation belonged to.

It gives your agent history the thing it has been missing: a fast, readable resume screen.

Why Resumer?

Agent work tends to sprawl across projects, worktrees, laptops, tmux panes, and late-night "what was I doing?" sessions. Codex and Claude Code both keep enough local state to resume, but the raw files are not meant to be browsed by humans.

Resumer normalizes that state into one practical list:

  • session titles first, because that is how you remember the work
  • compact project names instead of repeated full paths
  • relative ages like 6m, 1h, and 2d
  • Codex and Claude Code in one picker
  • details on demand when you need the exact ID, source file, or resume command
  • mobile-friendly rendering for narrow terminals, including Moshi on iPhone

Install

go install github.com/pejmanjohn/resumer/cmd/resumer@latest

Resumer requires Go 1.26 or newer. go install writes binaries to GOBIN, or to $(go env GOPATH)/bin when GOBIN is not set. Make sure that directory is on your PATH:

export PATH="$(go env GOPATH)/bin:$PATH"

For zsh, add it permanently:

echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.zshrc
exec zsh

Verify the installed binary directly if your shell still cannot find it:

"$(go env GOPATH)/bin/resumer" --help

Usage

resumer                         # pick from Codex and Claude Code sessions
resumer codex                   # Codex sessions only
resumer claude                  # Claude Code sessions only
resumer --cwd                   # prefer sessions under the current directory
resumer --tmux                  # resume inside a stable tmux session
resumer --print                 # print the selected resume command
resumer list --json             # scriptable JSON output

Inside the picker:

up/down or j/k   move
enter            resume
d                show details
c                copy resume command
q or esc         quit

What It Finds

By default, Resumer reads the local session stores used by Codex and Claude Code:

~/.codex/session_index.jsonl
~/.codex/sessions
~/.claude/projects

It enriches index entries with transcript metadata when available, then hides internal/noisy rows by default. Use --all when you want to inspect everything, including sidechain, subagent, or index-only sessions.

Tmux And Mobile

resumer --tmux launches the selected resume command in a stable, project-aware tmux session:

tmux new-session -A -s <resumer-session-name> <resume-command>

That pairs well with remote mobile terminals. On narrow screens, Resumer switches to a compact two-line layout so titles stay readable and metadata stays close by instead of stretching across a desktop-width table.

JSON

For scripts and other tools:

resumer list --json

Example shape:

{
  "sessions": [
    {
      "harness": "codex",
      "id": "019dd26c-0f78-7dc1-91f8-f8c2a8f4c515",
      "title": "Prepare production launch",
      "project_path": "/Users/you/code/app",
      "updated_at": "2026-04-28T04:49:55Z",
      "command": "codex resume 019dd26c-0f78-7dc1-91f8-f8c2a8f4c515 --cd /Users/you/code/app"
    }
  ]
}

Diagnostics and human-readable errors go to stderr, so JSON stdout stays clean.

Configuration

Override discovery paths with environment variables:

RESUMER_CODEX_INDEX_PATH=/path/to/session_index.jsonl
RESUMER_CODEX_SESSIONS_PATH=/path/to/codex/sessions
RESUMER_CLAUDE_PROJECTS_PATH=/path/to/claude/projects

Safety

Resumer is read-only with respect to Codex and Claude Code session storage. It discovers local session files, ranks normalized session cards in memory, and then runs, prints, or copies the harness resume command.

It does not mutate transcripts, rewrite harness state, or maintain its own session database.

Development

go test ./...
go run ./cmd/resumer --help

License

MIT

About

Tiny CLI for resuming past Codex & Claude Code sessions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages