Show HN: Thurbox – A tmux-based TUI and CLI for local AI agent orchestration Thurbeen released Thurbox, an open-source tmux-based TUI and headless CLI for running multiple coding-agent CLIs side by side, each in its own persistent tmux session and git worktree. Thurbox launches vendor CLIs unmodified — including Claude Code, Codex, Antigravity, opencode, and aider — and requires tmux ≥ 3.2, git, and at least one coding-agent CLI, with install scripts for Linux, macOS, and Windows. The interface is defined in user-owned Lua files, and sessions survive quitting the TUI, crashes, restarts, and reboots. Run several coding agents at once — Claude Code, Codex, Antigravity, opencode, aider, or any CLI you describe yourself — side by side in one terminal. Each gets its own persistent tmux session and its own git worktree, so they never fight over your checkout, and they survive crashes, restarts and reboots. Quit thurbox and every agent keeps working; relaunch and they are all still there. Thurbox is agent-neutral. It launches the vendor CLI unmodified and knows nothing about its model, prompts or tools, so you get new agent features the day the CLI ships them. And the interface is not compiled in: every pane you see, the session list included, is a Lua file in a directory you own — move it, turn it off, rewrite it, or install one somebody else wrote. Linux / macOS: curl -fsSL https://raw.githubusercontent.com/Thurbeen/thurbox/main/scripts/install.sh | sh Windows PowerShell : irm https://raw.githubusercontent.com/Thurbeen/thurbox/main/scripts/install.ps1 | iex That installs both binaries — thurbox the TUI and thurbox-cli the headless one — with checksum verification and platform auto-detection. You also need tmux ≥ 3.2 or psmux https://github.com/psmux/psmux on native Windows , git , and at least one coding-agent CLI. Homebrew, the AUR, winget, Chocolatey, building from source, pinning a version, changing the install directory and uninstalling are all on the Installation page https://thurbox.thurbeen.eu/docs/installation.html . thurbox First launch seeds ~/.config/thurbox/ — the agents thurbox knows, the themes, and the interface itself — then draws a session list on the left and an agent terminal on the right. 1. Ctrl+N opens the repo picker. Space toggles a repo, w puts it in worktree mode you are asked for a base branch and a new branch name , Enter confirms. Name the session, then pick an agent. 2. Talk to it. The right pane is a live agent CLI; every key goes to it. 3. Ctrl+N again for a second agent on a second branch. Ctrl+J / Ctrl+K move between sessions — the one you are not looking at keeps working. 4. Ctrl+Q leaves the TUI without killing anything. Run thurbox again and both agents are still mid-task, or attach raw with tmux -L thurbox attach . That is the whole product in four steps: parallel work that keeps going when you stop watching it. F1 lists every key and is rendered from the live registry, so it cannot drift from what is running; Ctrl+P is a command palette over the same actions. For the same walkthrough with screenshots, see the tutorial https://thurbox.thurbeen.eu/docs/tutorial.html . - Global search https://thurbox.thurbeen.eu/docs/features.html global-search Ctrl+/ — find a session by name, agent, branch or repo, and by the text on its screen, which is the half that finds it by the error in it. - Fork and lead/worker trees https://thurbox.thurbeen.eu/docs/features.html session-forking Ctrl+F — branch a conversation; children nest under their lead. - Worktrees and multi-repo sessions https://thurbox.thurbeen.eu/docs/features.html git-worktrees — one session can span several repos, each on its own worktree of a shared branch. Ctrl+S syncs them with their base. - Remote SSH and WSL sessions https://thurbox.thurbeen.eu/docs/features.html remote-ssh-sessions — declare hosts in hosts.toml and sessions run there while the TUI stays local. - A headless CLI https://thurbox.thurbeen.eu/docs/features.html headless-cli — thurbox-cli creates, drives, captures and tears down sessions from a script, over the same database the TUI is reading. - Automations and tasks https://thurbox.thurbeen.eu/docs/features.html automations — scheduled agent runs and a todo list whose items can be handed to an agent. A tmux heartbeat fires them whether or not thurbox is open. - Inter-session messages https://thurbox.thurbeen.eu/docs/features.html inter-session-messages — an agent-neutral mailbox so one agent hands another a payload instead of scraping its terminal. - Extensions https://thurbox.thurbeen.eu/docs/extensions.html — opt-in add-ons that are data, not code: a manifest declares the agents, files, sessions and automations it wants, and one command installs and self-heals them. - Session lifecycle hooks https://thurbox.thurbeen.eu/docs/configuration.html hooks-toml , OS notifications https://thurbox.thurbeen.eu/docs/configuration.html notifications , 36 themes https://thurbox.thurbeen.eu/docs/features.html themes Ctrl+Y and full mouse support. Wiring a fleet of agents at once — operators, developers, reviewers, from one script — is the monorepo recipe https://thurbox.thurbeen.eu/docs/recipes.html monorepo . The binary boots a kernel, reads a directory, and draws whatever Lua it finds there. Panes live in ui/plugins/ .lua , the arrangement in ui/layout.lua , and F10 reloads both from disk. Agents, hosts, hooks, themes, chords and settings are each a file under ~/.config/thurbox/ . You do not have to learn Lua for any of it. Thurbox ships a built-in ui-skill extension that teaches whichever CLI you run how the interface is put together, so from inside any session you can just ask: Add a pane on the left with CPU and RAM usage. Move the search strip to the bottom and make the session column 30% wide. Press F10 and the change is on your screen. If a pane breaks, Ctrl+, then is chrome rather than a pane, so it cannot be edited away — r restores a shipped file, space turns yours off. The Interface → https://thurbox.thurbeen.eu/docs/interface.html · Writing a pane → https://github.com/Thurbeen/thurbox/blob/main/docs/PLUGINS.md · Configuration → https://thurbox.thurbeen.eu/docs/configuration.html thurbox.thurbeen.eu/docs https://thurbox.thurbeen.eu/docs/ is the manual: installation https://thurbox.thurbeen.eu/docs/installation.html , tutorial https://thurbox.thurbeen.eu/docs/tutorial.html , features https://thurbox.thurbeen.eu/docs/features.html , keybindings https://thurbox.thurbeen.eu/docs/keybindings.html , configuration https://thurbox.thurbeen.eu/docs/configuration.html , agents https://thurbox.thurbeen.eu/docs/agents.html , the interface https://thurbox.thurbeen.eu/docs/interface.html , orchestration https://thurbox.thurbeen.eu/docs/orchestration.html , architecture https://thurbox.thurbeen.eu/docs/architecture.html , a comparison with similar tools https://thurbox.thurbeen.eu/docs/comparison.html and an FAQ https://thurbox.thurbeen.eu/docs/faq.html . The rationale behind the decisions is in this repository, under docs/ https://github.com/Thurbeen/thurbox/blob/main/docs : CONSTITUTION https://github.com/Thurbeen/thurbox/blob/main/docs/CONSTITUTION.md non-negotiable principles , ARCHITECTURE https://github.com/Thurbeen/thurbox/blob/main/docs/ARCHITECTURE.md , FEATURES https://github.com/Thurbeen/thurbox/blob/main/docs/FEATURES.md , CONFIG https://github.com/Thurbeen/thurbox/blob/main/docs/CONFIG.md , V2-KERNEL https://github.com/Thurbeen/thurbox/blob/main/docs/V2-KERNEL.md , PLUGINS https://github.com/Thurbeen/thurbox/blob/main/docs/PLUGINS.md , ORCHESTRATION https://github.com/Thurbeen/thurbox/blob/main/docs/ORCHESTRATION.md , DEVELOPMENT https://github.com/Thurbeen/thurbox/blob/main/docs/DEVELOPMENT.md and RELEASING https://github.com/Thurbeen/thurbox/blob/main/docs/RELEASING.md . CONTRIBUTING.md https://github.com/Thurbeen/thurbox/blob/main/CONTRIBUTING.md is the full guide — the Nix dev shell, the just tasks, the test discipline, and the conventional-commit rules that decide what gets released. git clone https://github.com/Thurbeen/thurbox.git cd thurbox nix develop or ./scripts/install-dev-tools.sh just build && just test && just lint - Discord https://discord.gg/fGumcHaxFY — questions, setup help, and showing off your interface. Ask in help , one thread per problem. - GitHub Issues https://github.com/Thurbeen/thurbox/issues — confirmed bugs and concrete feature requests. MIT — see LICENSE https://github.com/Thurbeen/thurbox/blob/main/LICENSE . Built on ratatui https://github.com/ratatui-org/ratatui , tui-term https://github.com/a-kenji/tui-term , vt100 https://github.com/doy/vt100-rust and tmux https://github.com/tmux/tmux .