Interactive TUI for picking up where you left off across AI coding tools. Lists your recent sessions from Claude Code, Codex, and Copilot in one place — select one, choose a tool, and continue.
▶ Claude Code Apr 07 14:32 2h ago refactor the auth middleware
Copilot Apr 07 11:05 5h ago add pagination to the API
Codex Apr 06 09:14 1d ago fix the flaky test in parser
Continue in: ◀ Claude Code ▶ ↑↓ navigate · tab: switch tool · ↵ launch · q quit
Quickest way: Ask your AI agent to install this tool for you ;)
Add the resume shell function to your shell profile — then just type resume from anywhere.
bash — add to ~/.bashrc:
resume() {
local cmd
cmd=$(FORCE_COLOR=3 npx -y ai-resume-cli@latest)
[ $? -eq 0 ] && [ -n "$cmd" ] && eval "$cmd"
}zsh — add to ~/.zshrc:
resume() {
local cmd
cmd=$(FORCE_COLOR=3 npx -y ai-resume-cli@latest)
[ $? -eq 0 ] && [ -n "$cmd" ] && eval "$cmd"
}fish — add to ~/.config/fish/config.fish:
function resume
set cmd (FORCE_COLOR=3 npx -y ai-resume-cli@latest)
if test $status -eq 0; and test -n "$cmd"
eval $cmd
end
endPowerShell (Windows) — add to your $PROFILE:
function resume {
$env:FORCE_COLOR = '3'
$cmd = npx -y ai-resume-cli@latest
$env:FORCE_COLOR = ''
if ($LASTEXITCODE -eq 0 -and $cmd) { Invoke-Expression $cmd }
}Reload your shell (or open a new terminal), then:
resumeThe @latest tag in the function means npx always fetches the newest version. No action needed.
If you want a specific version, replace @latest with e.g. @1.1.0.
| Key | Action |
|---|---|
| ↑ / ↓ | Navigate sessions |
| Tab | Cycle target tool |
| Enter | Launch selected session |
| q / Esc | Quit |
Only tools installed on your machine appear in the tool cycle.
Sessions are read directly from each tool's local storage:
| Tool | Session directory |
|---|---|
| Claude Code | ~/.claude/projects/ |
| Codex | ~/.codex/sessions/ |
| Copilot | ~/.copilot/session-state/ |
Same-tool resume uses the tool's native --resume <uuid> flag — no data is copied or converted.
Cross-tool resume starts the target tool with an initial message pointing to the original session file. The AI reads it and continues from where you left off, with full conversation history as context.
The CLI prints the resulting command to stdout and exits. The shell function captures it and runs it in your current shell — this is why terminal ownership is always clean, on every platform.
- Node.js 18+
- macOS, Linux, or Windows (PowerShell or Git Bash)
- At least one of: Claude Code, Codex, Copilot CLI
git clone https://github.com/inevolin/resume-cli
cd resume-cli
npm install
npm run build
node dist/cli.jsTo use it globally from the local clone:
npm link
resume # works in any directory
npm unlink -g ai-resume-cli # remove when doneRun tests:
npm test
npm run test:integrationBug reports and pull requests welcome at inevolin/resume-cli.
MIT