A web-based session browser for Claude Code conversations. Browse, search, and fork sessions stored in your local ~/.claude/ directory.
- Browse sessions — View all Claude Code conversations across projects
- Search & filter — Find sessions by content, project, slug, or session ID
- Markdown rendering — Syntax-highlighted code blocks and GitHub-flavored markdown
- Resume sessions — Get the CLI command to continue any session
- Fork conversations — Branch off at any message to explore a different direction, preserving full context up to that point
- Create projects — Type a bare name in the new session dialog and it becomes a folder under your configurable root (
~/projectsby default); any missing directory is created when the session starts - MCP servers / connectors — Add, edit, enable/disable and test-connect MCP servers from settings or straight from the chat toolbar. Written to Claude Code's own config (
~/.claude.json,.mcp.json), so the CLI sees the same servers - Remote control — Hand a session off to your phone. Type
/remote-controlin the chat box and it registers with claude.ai/code and the Claude mobile app, with a QR code to scan. Everything keeps running on your machine — the phone is just another window into the same conversation, and anything you send from it shows up here live. Needs a claude.ai login (Pro/Max/Team/Enterprise) - Interactive shell — A real login shell in the terminal panel, below the raw event stream. It opens in the active session's project directory and is shared across tabs, so it's the same shell wherever you switch to. Reloading the page doesn't lose it — the scrollback is replayed from the server
- Background tasks — A floating panel for the work claude leaves running in the background: commands started with
run_in_background, monitors, background agents. See what is still running and for how long, read its output, and kill anything you don't want to wait for. Tasks are read from the session transcripts, so the list survives a reload, covers scheduled runs the same way, and a task that finishes while you're elsewhere can raise a desktop notification - Scheduler — Run prompts on the clock: once, on an interval, or on a cron expression, in a new session or an existing one. Runs fire with no browser open; anything missed while the machine slept or was offline replays oldest-first when it comes back. Claude can schedule its own runs, and the floating scheduler panel monitors everything live
git clone https://github.com/rearming/claude-code-manager.git
cd claude-code-manager./run.sh
That's it. The script checks for prerequisites, installs dependencies if needed, and starts the app. It picks free ports — normally http://localhost:5173, but if that's taken it moves up and prints the URL it actually used, so a second instance never fights the first one.
To pin them instead: ./run.sh --port 4000 --client-port 4001 (or PORT / CCM_CLIENT_PORT in the environment).
- Node.js 18+ — nodejs.org or via
nvm install --lts - npm 7+ — ships with Node.js 18+
- Claude Code session history in
~/.claude/(the app reads sessions from there)
