Home

tek.cat

Bringing concepts to life with over ten years of IT experience.

ttree, a Rust TUI for tmux sessions: the session tree with a live pane preview showing vim editing the source

ttree: Rust TUI for tmux sessions

I run most of my development work across several concurrent tmux sessions — Claude Code agents, build servers, log monitors, and a Termux terminal on the phone connected over WireGuard. From a laptop, managing all of that is easy. From the phone itself, it's slow: you can't see window names at a glance, and switching sessions means remembering numbers.

ttree is a terminal UI for tmux session management, written in Rust using Ratatui. It shows all sessions, windows, and panes as a collapsible tree in a left sidebar, with a live preview of the selected pane on the right — a full embedded terminal, updated in real time, without switching away from your current window. Mouse clicks and keyboard input are forwarded to the selected pane, single-child nodes collapse automatically, and state persists across restarts via a TOML file in ~/.config/ttree/.

ttree was built with Claude Code — the async event loop and PTY management were Claude’s; the interaction design was mine. From a phone over WireGuard, it’s the difference between navigating blind and having a full dashboard. The source is at gitlab.com/tek.cat/ttree.