A local web UI for browsing, resuming, and managing coding agent sessions (Claude Code and Codex).
- Lists all sessions from
~/.claude/projects/(Claude Code) and~/.codex/sessions/(Codex) sorted by most recent - Filter by Today, This Week, Active (7d), All, or Archived
- Click any session to resume it in an embedded in-browser terminal
- Add notes, titles, and tags to sessions
- Pin important sessions to the top
- Soft-delete sessions (never touches the underlying JSONL files)
- + New opens a fresh session in the browser terminal — choose Claude Code or Codex
- macOS (uses
node-ptyfor the embedded terminal) - Node.js >= 18
- Claude Code and/or Codex CLI installed and in PATH
git clone https://github.com/ekon15/claude-session-manager
cd claude-session-manager
npm install
npm startOpens automatically at http://localhost:7367.
| Action | How |
|---|---|
| Resume a session | Click Resume on any card |
| Start a new session | Click + New ▾ — choose Claude Code or Codex |
| Quick scratch session | Click ⚡ Playground ▾ — same as New, but auto-tags and archives the session when you exit, keeping your list clean |
| Add/edit a note | Click the note area below the session title |
| Edit the title | Click the title text |
| Add a tag | Click + tag |
| Pin to top | Click ⊙ |
| Archive | Click ⊟ |
| Delete | Click ⊗ |
| Copy resume command | Click Copy |
| Close terminal panel | Click ✕ (agent keeps running) |
| Reconnect to running session | Click Resume again |
Copy .env.example to .env if you want to customize anything:
cp .env.example .envRun on a different port:
npm start -- --port 8080Claude Code session data is read from ~/.claude/projects/ and Codex session data from ~/.codex/sessions/. Metadata (titles, notes, tags, pins, archives) is stored separately in ~/.claude/session-manager.json — the original session files are never modified.
The embedded terminal uses node-pty on the server and xterm.js in the browser, connected over WebSocket. Closing the browser panel detaches without killing the agent process.