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

Exasol Releases MCP Server for Database Context in AI Agent Workflows
Exasol has released an MCP Server that enables databases to provide context to AI agents about available data, business rules, and safe interaction methods. The server is read-only by default, supports high-concurrency workflows, and can be deployed on-prem, in cloud, or hybrid environments.

Unsloth Studio enables 2x training speed with 70% VRAM reduction for local AI fine-tuning
Unsloth Studio provides tools to train and fine-tune language models on local hardware with 2x faster training and 70% VRAM reduction. It supports exporting models to GGUF format for use with Ollama and enables full local AI coding workflows on 24GB hardware like RTX 4090.

Claude-Code v2.1.111 adds Opus 4.7 xhigh effort, /ultrareview, and PowerShell tool
Claude-Code v2.1.111 introduces the Opus 4.7 xhigh effort level between high and max, adds the /ultrareview command for cloud-based multi-agent code reviews, and begins rolling out PowerShell tool support on Windows. The update also includes interactive /effort controls, auto theme matching, and numerous bug fixes.

RUNE Protocol: Save AI Session Memory Across Platforms
RUNE (Relational User Notation for Entities) is an open-source protocol that saves your AI relationship to an encrypted .rune file, solving the cold-start problem where AI assistants forget you between sessions. Created with Claude Opus 4.6, it works across Claude and GPT platforms.