Interactive terminal UI for browsing, previewing, and deleting Claude Code sessions.
Addresses anthropics/claude-code#13514.
If available in the official marketplace:
/plugin install session-manager
claude plugin marketplace add https://github.com/GravesXX/session-manager.gitThen in Claude Code:
/plugin install session-manager@session-manager
git clone https://github.com/GravesXX/session-manager.git
claude plugin marketplace add /path/to/session-managerAfter installing, restart Claude Code or run /reload-plugins.
Type /sessions to launch the session manager. Claude will attempt the interactive TUI first. If no terminal is available, Claude mediates with a numbered list — just say "preview #3" or "delete #5".
For the best visual experience, run directly in your terminal:
node /path/to/session-manager/skills/sessions/scripts/session-picker.cjsTip: add an alias to your shell profile:
alias sessions='node ~/Desktop/session-manager/skills/sessions/scripts/session-picker.cjs'Delete all auto-generated local-command sessions (/exit, /clear artifacts) in one shot:
node /path/to/session-manager/skills/sessions/scripts/session-picker.cjs --clean-auto| Key | Action |
|---|---|
↑ ↓ |
Navigate the session list |
Enter |
Preview conversation messages |
Backspace |
Delete session (with confirmation) |
Tab |
Cycle filter: All > By Project > Small > Old |
| Type anything | Search by message or project |
Esc |
Clear search / go back / quit |
Ctrl+C |
Quit immediately |
Press Tab to cycle through filters:
- All — every session
- By Project — one project at a time (keep pressing Tab to cycle projects)
- Small (< 100K) — likely low-value or abandoned sessions
- Old (> 30 days) — sessions older than 30 days
When no TTY is available (e.g., inside Claude's Bash tool), the script supports subcommands:
# List all sessions as JSON
node session-picker.cjs --list
# Preview a session's messages
node session-picker.cjs --preview <session-id>
# Delete a session
node session-picker.cjs --delete <session-id>
# Delete all auto-generated sessions
node session-picker.cjs --clean-auto- Scans
~/.claude/projects/for.jsonlsession files across all projects - Extracts metadata: first user message, date, size, message count, project path
- Renders a full-screen alternate buffer TUI using ANSI escape codes
- Zero npm dependencies — vanilla Node.js only (~1000 lines, single file)
- Follows official Claude Code plugin conventions
# Run all tests (32 tests across 3 suites)
node test/test-scanner.cjs && node test/test-cli.cjs && node test/test-utils.cjs
# Test with fixture data
node skills/sessions/scripts/session-picker.cjs --list --projects-dir test/fixtures/projects
# Test with real sessions
node skills/sessions/scripts/session-picker.cjs --listIssues and PRs welcome at https://github.com/GravesXX/session-manager
MIT