Skip to content
nitant.dev
Index
systemsshipped2026

gmux

A Windows-native, GPU-accelerated terminal multiplexer built for running many AI coding agents in parallel.

Language
Rust
Renderer
wgpu
Milestones
M0–M12
all shipped
Targets
x64 · ARM64
License
MIT

My role

Sole author

Domains

Systems/Windows internals/Developer tools

01

Context

Running coding agents in parallel is now a normal workflow: four or five terminals, each with an agent working, each occasionally needing a human. On macOS there are tools built for exactly this. On Windows there is no native tmux, and every alternative either drops the multiplexing, drops the notifications, or wraps a browser engine to draw text.

02

The problem

The failure mode is not aesthetic, it is attentional. An agent finishes, or asks for permission, and nothing tells you — so you poll windows, and the machine sits idle between the moment it needed you and the moment you noticed. Closing the window kills the sessions on top of that.

03

What I built

gmux builds the tmux model in-app: a per-user daemon owns the ConPTYs so sessions survive closing the GUI, with sessions, windows, panes, splits and real detach/reattach on top. The wedge is notifications — any tool that emits an OSC 9, 777 or 99 escape lights its pane with a persistent attention ring, badges the taskbar and fires a real Windows toast, suppressed when you are already looking at that pane and cleared when you focus it. No SDK, no integration: it works with anything that speaks the standard escape. The grid renders through wgpu rather than a browser engine, and a named-pipe API with a tmux-style CLI lets orchestrators drive it from outside.

04

Outcome

Every roadmap milestone from the terminal core through detach and restore shipped, plus sixteen rounds of interface work: scrollback search with match highlighting, OSC 8 hyperlinks with hover tooltips, IME input, mouse reporting, per-pane scrollback, a command palette, prompt-jump navigation, OSC 52 clipboard and busy-pane close protection. MIT-licensed, x64 and ARM64, portable — no installer.

How it works

Detail
Notifications that actually fire
OSC 9 / 777 / 99 map to a Windows toast plus a persistent per-pane attention ring and taskbar badge. Suppression is state-aware: no toast for the pane you are already watching, and the ring clears on focus, so the signal stays meaningful instead of becoming noise you learn to ignore.
Sessions that survive you
A per-user daemon holds the ConPTY handles, so closing the GUI — or crashing it — leaves the agents running. Reattach restores the layout, and session state survives a reboot.
Programmable from outside
A local named-pipe API plus a tmux-style CLI: send-keys, capture-pane, screenshot, wait-for, subscribe. That makes gmux a target for orchestration scripts, not just a window you type into.
Native rendering
Rust with wgpu for the grid — no Electron, no web view. The terminal core came first and everything else was built on top of it, because a multiplexer with a subtly wrong VT parser is worse than no multiplexer.

Built with

Rust/wgpu/ConPTY/Win32/Named pipes