Roost: A Single-Go-Binary Sidebar for Claude Code with Clickable Prompt History, File Tree, and Notifications

A developer built Roost to address three gaps when using Claude Code over SSH via tmux: clickable prompt history, a file tree to reduce cat-ing files, and push notifications when Claude is waiting. It's a single Go binary serving a web interface on 127.0.0.1:8080 designed for SSH tunnelling.
Key Features
- xterm.js terminal backed by tmux: Survives WebSocket disconnects, sleep, and server restarts. Every session is
tmux new-session -A -s {id}. - File tree: Preview files, drag-drop upload, and automatically follows your current directory by reading tmux's
pane_current_path— no shell integration required. - Activity panel: Reads
~/.claude/projects/*.jsonland shows every prompt. Click a prompt → terminal scrolls back to that turn. - Top-bar chips: Display active model and latest context tokens.
- Push notifications: Uses Claude Code's
Stophook to ping your laptop when Claude becomes idle, even with the tab backgrounded.
Design Decisions
- tmux as durability layer: The shell survives disconnects and restarts because tmux handles session persistence. Roost only owns a WebSocket bridge and an append-only disk log.
- Single-user-per-instance: No accounts or RBAC. Two people sharing a host each run
roost serveon a different port. UNIX UIDs handle isolation; reverse-proxies handle multi-tenant auth. - Vanilla JS, no build step: Frontend is plain
<script>files embedded via//go:embed all:web. No bundler — easier to debug and ship.
Notable Bug Fix
tmux's display-message -p '#{x}\x1f#{y}' returns 0x1f as a literal underscore when launched without a UTF-8 locale (e.g., from systemd units). The one-line fix: tmux -u. If you pipe tmux through field separators, lock the locale.
Compatibility
Validated on Linux server + Windows Chrome over SSH tunnel. macOS-as-server works but has rough edges. Codex sessions work if you swap agents. Repo: github.com/liamsysmind/roost. v0.1.0 tarballs at github.com/liamsysmind/roost/releases/tag/v0.1.0.
📖 Read the full source: r/ClaudeAI
👀 See Also

Repo Tokens: GitHub Action Adds Token Count Badge for LLM Context Window Awareness
Repo Tokens is a GitHub Action that counts your codebase's size in tokens using tiktoken and displays a badge in your README showing what percentage of an LLM's context window it fills. The badge uses green for under 30%, yellow for 50-70%, and red for 70%+.

Free Model Alert: Tencent Hy3 Available on OpenRouter for 2 Weeks — Try It Now
Tencent Hy3 is free on OpenRouter for 2 weeks. Use it in OpenClaw via openrouter/tencent/hy3:free. Full details from r/openclaw.

ProofShot CLI Gives AI Coding Agents Browser Verification Capabilities
ProofShot is an open-source CLI tool that lets AI coding agents verify UI features by recording browser sessions, capturing screenshots, and collecting console errors. It works with any agent that can run shell commands and generates self-contained HTML reports for human review.

Open-source Claude plugin generates interactive visual tuners with live preview
A developer built an open-source plugin that lets Claude Code generate single HTML pages with sliders and Figma-style infinite canvases for fine-tuning CSS values. The plugin reads source files, reproduces elements on an interactive canvas, and provides controls for precise adjustments with live preview.