Claude Code in a browser tab. Multiple persistent sessions, live status, sound alerts, Chrome notifications.
- Node.js 18+
- Claude Code (
claudein PATH) - ttyd
- tmux
# macOS
brew install ttyd tmux
# Ubuntu/Debian
sudo apt-get install -y ttyd tmuxnode server.jsOpen http://127.0.0.1:7680. Click "New session", pick a folder, done.
Sessions run in tmux so they persist when you switch between them.
# Options
PORT=8080 node server.jsserver.js Entry point
lib/
settings.js Settings load/save (settings.json)
sessions.js Session lifecycle, tmux management, status detection
routes.js HTTP API and static file serving
public/
index.html Markup and CSS
js/
app.js Wires everything together
alerts.js Browser notifications and sound alerts
theme.js Light/dark theme toggle
sessions.js Session list, iframe management, tab title
settings.js Settings panel
panels.js Panel open/close helpers
favicon.png Chrome favicon
Reads tmux pane content to show what Claude is doing:
| Dot | Meaning |
|---|---|
| Yellow (pulsing) | Thinking / tool use in progress |
| Red (pulsing) | Needs approval or edit review |
| Blue | Done, waiting for input |
| Green | Ready (fresh session) |
Browser tab (localhost:7680)
└── iframe per session
└── ttyd (localhost:7681+)
└── tmux → claude
MIT