A native Linux terminal multiplexer for AI coding agents β port of cmux functionality to Linux.
Status: Pre-alpha development
themux combines a GPU-accelerated terminal emulator (Ghostty), in-app browser (WebKitGTK), vertical workspace tabs, split panes, notification system, and extensive scripting API into one native Linux application built with Rust and GTK4.
βββββββββββββββββββββββββββββββββββββββββββββββ
β GTK4 UI Layer β
β Sidebar β Split Panes β Tab Bar β Browser β
β Ghostty GTK Terminal Widget (GPU-accelerated)β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β Rust Application Core β
β Workspace Manager β Socket Server β Config β
β Session Persist β Notifications β Agents β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β IPC / Protocols β
β Unix Socket (JSON-RPC V2) β cmux-compatible β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β Cross-Platform Components β
β cmuxd-remote (Go) β CLI (Rust) β Tests (Python)β
βββββββββββββββββββββββββββββββββββββββββββββββ
themux/
βββ crates/
β βββ themux-core/ # Business logic: workspace model, config, session, layout
β βββ themux-socket/ # Unix socket server, V2 JSON-RPC protocol, event bus
β βββ themux-cli/ # CLI binary (workspace, surface, browser, vm, ssh, tmux compat)
β βββ themux-agent/ # Agent hooks: Claude Code, Codex, OpenCode, Hermes
β βββ themux-notify/ # OSC detection, desktop notification bridge
β βββ themux-app/ # GTK4 application binary
βββ ui/ # GTK4 UI definitions, CSS, layouts
βββ ghostty/ # Ghostty terminal engine (git submodule)
βββ daemon/ # cmuxd-remote Go daemon (cross-platform)
βββ data/ # Default config, JSON schemas
βββ tests/ # Python integration tests (protocol-compatible)
βββ scripts/ # Build, setup, test scripts
βββ docs/ # Architecture, protocol docs, contributing
- Rust 1.85+
- GTK4 development libraries
- WebKitGTK 6.0 development libraries
- Zig 0.14+ (for Ghostty build)
- Go 1.22+ (for cmuxd-remote)
- Python 3.10+ (for tests)
# Install dependencies (Fedora)
sudo dnf install gtk4-devel webkit2gtk4.1-devel libadwaita-devel \
zig go python3-devel
# Clone with submodules
git clone --recurse-submodules https://github.com/themux-app/themux.git
cd themux
# Setup (builds Ghostty, cmuxd-remote)
./scripts/setup.sh
# Build everything
make build
# Or: build just the CLI
cargo build --release -p themux-cli
# Or: build the GTK app
make build-app# Launch the GUI
./scripts/run.sh
# Or: use the CLI directly
./target/release/themux new-workspace --cwd ~/projects/my-app
./target/release/themux list-workspaces
./target/release/themux send --workspace 1 "echo hello"themux targets protocol compatibility with cmux's V2 JSON-RPC socket API. The Python test suite from cmux's tests_v2/ runs against themux to verify compatibility.
GPL-3.0-or-later. See LICENSE.
Commercial licenses available for organizations that cannot comply with GPL.