# Thurbox

> A terminal UI for orchestrating multiple CLI coding agents side by side in persistent tmux panes, with a fully customizable Lua-based interface.

Thurbox is an open-source TUI (terminal user interface) built in Rust that lets developers run multiple CLI coding agents — Claude Code, Codex, Antigravity, opencode, aider, GitHub Copilot CLI, and others — simultaneously in persistent tmux panes. It is released under the MIT License and available on GitHub. A single install command sets up both the `thurbox` TUI binary and the `thurbox-cli` headless binary, and the agents keep running even after the TUI is closed.

## What It Is

Thurbox sits in the category of agentic code orchestration tools. Its core job is to manage multiple coding-agent CLI sessions in one terminal window, each backed by a real tmux session that survives crashes, restarts, and reboots. The tool is agent-neutral: it launches vendor CLIs unmodified and knows nothing about their models, prompts, or tools, so new agent features arrive the day the upstream CLI ships them. Every pane in the interface — including the session list — is a Lua file in a directory the user owns, making the layout fully editable without recompiling or restarting.

## Architecture: Two-Layer Design

Thurbox separates its internals into two distinct bands:

- **The engine (Rust, fixed):** Handles processes, git, hosts, schedules, and the SQLite database. This layer is not user-editable by design, providing a stable surface that plugins can rely on.
- **The interface (Lua, yours):** Every visible pane, the arrangement file (`ui/layout.lua`), and keybindings are Lua files under `~/.config/thurbox/ui/`. Panes can be moved, disabled, deleted, or replaced without a recompile. Pressing `F10` reloads the interface from disk.

Both the TUI and the headless CLI share one SQLite database, so actions taken via `thurbox-cli` appear in the running TUI within a tick.

## Key Capabilities

- **Persistent sessions:** Each agent runs in its own tmux pane and survives TUI restarts. `Ctrl+Q` exits the TUI without killing agents.
- **Git worktrees:** Sessions can be spawned in isolated git worktrees for branch-level isolation. `Ctrl+S` rebases all worktrees from `origin/main` with automatic conflict resolution.
- **Remote and WSL hosts:** Agents can run on remote machines over SSH or inside WSL distros (discovered with no config), while the interface stays local.
- **Automations:** Named, scheduled agent runs — one-shot or recurring cron — fire whether or not the TUI is open, via a detached tmux keeper.
- **Tasks and issue sync:** A todo list whose items connect to a coding agent; records carry a `source` and external ID for integration with external trackers.
- **Inter-session messages:** An agent-neutral mailbox lets one agent hand another a payload without scraping its terminal.
- **Extensions:** Opt-in, agent-agnostic add-ons declared as data manifests, installed and self-healed with a single `thurbox-cli` command.
- **Headless CLI:** `thurbox-cli` scripts everything — create, drive, capture, and tear down sessions — from the terminal or from inside an agent session.
- **36 built-in themes:** 28 dark and 8 light palettes, switched live with `Ctrl+Y`.

## Performance Model

Thurbox uses a demand-driven rendering loop. An idle screen drops to four frames per second instead of a hundred, and layout, terminal render, and panel rebuilds are skipped rather than repeated when nothing has changed. Panes that declare themselves `pure` can have their whole render tree reused. The `F12` HUD and `THURBOX_PERF_LOG=1` expose per-pane cost — total, p95, max, frame share, and cache-hit rate. Performance regressions are tracked with deterministic frame counters rather than wall-clock timers, so they fail tests consistently across machines.

## Update: v2.28.0

The latest release is **v2.28.0**, published on 2026-09-18, according to the GitHub repository. The project was created in February 2026 and has been updated continuously, with the last push recorded on 2026-09-19. The repository shows 72 stars and 10 forks at the time of indexing. The project is actively maintained under the MIT License and built on ratatui, tui-term, vt100-rust, and tmux.

## Features
- Run multiple CLI coding agents side by side in persistent tmux panes
- Agent-neutral: supports Claude Code, Codex, Antigravity, opencode, aider, GitHub Copilot CLI, Vibe, pi, Oh My Pi, and any custom CLI
- Fully customizable Lua-based interface — every pane is a file you can edit, move, or delete
- Git worktree support for branch-level isolation across sessions
- One-key sync (Ctrl+S) rebases all worktrees from origin/main
- Remote SSH and WSL host support with no config required for WSL discovery
- Headless CLI (thurbox-cli) for scripting session creation, prompting, and teardown
- Scheduled automations (one-shot or recurring cron) that fire without the TUI open
- Tasks list with direct agent handoff and external tracker sync support
- Inter-session agent-neutral message mailbox
- Opt-in extensions declared as data manifests, self-healed by thurbox-cli
- Demand-driven rendering: idle screen drops to 4 fps, skips unchanged work
- Per-pane performance HUD (F12) with p95, max, frame share, and cache-hit stats
- 36 built-in themes (28 dark, 8 light) switchable live with Ctrl+Y
- Global search (Ctrl+/) finds sessions by name, branch, repo, or screen text
- Session forking (Ctrl+F) with lead/worker tree nesting
- Session lifecycle hooks, OS notifications, and full mouse support
- Vim-inspired keybindings with live rebinding from the help screen
- Responsive layout via ui/layout.lua — no breakpoints compiled into the binary

## Integrations
Claude Code, OpenAI Codex, Antigravity, opencode, aider, GitHub Copilot CLI, Vibe, pi, Oh My Pi, tmux, git, psmux (Windows), SSH, WSL, Homebrew, AUR (Arch Linux), winget, Chocolatey, Nix

## Platforms
WINDOWS, MACOS, LINUX, API, CLI

## Pricing
Open Source

## Version
v2.28.0

## Links
- Website: https://thurbox.thurbeen.eu/
- Documentation: https://thurbox.thurbeen.eu/docs/
- Repository: https://github.com/Thurbeen/thurbox
- EveryDev.ai: https://www.everydev.ai/tools/thurbox
