Projects
conmux — A Terminal Multiplexer for Windows
A terminal multiplexer in Rust, published on crates.io. ConPTY plus Job Object whole-tree process supervision, a daemon that survives closing the window (detach/attach), and named-pipe IPC.
Rust / ConPTY / Windows Job Object / Named Pipe IPC / crates.io
Positioning
For whom: developers on Windows, and any tool that needs to host several long-lived command-line sessions there — an orchestrator for coding agents, for instance.
What it replaces: Windows has no usable tmux. The options are Linux ports that don't understand the Windows process model, or tools that manage one process and ignore the tree of children it spawns. conmux fills that gap.
Why it earns its place: it was written for a real need — halfway through Conflux the gap showed up, so it was built and then extracted. It solves problems that were actually hit (orphaned processes, sessions dying with the window), not a feature list on paper.
Main modules
- Session hosting: real pseudo-terminals on ConPTY, one per session.
- Whole-tree supervision: a Job Object collects every child a session spawns, so killing is all-or-nothing — agent CLIs spawn many children, and killing the parent while leaving orphans is a classic Windows trap.
- Daemon detach/attach: close the window and the session lives; come back and reattach. tmux's most valuable trick.
- Named-pipe IPC between client and daemon, with tightened DACLs.
Stack
- Rust: no runtime, publishable to crates.io, same language as the Conflux backend.
- Windows ConPTY API: the native pseudo-terminal, not an emulation.
- Windows Job Objects: process-tree lifecycle control.
- Named pipes: local IPC with one fewer attack surface than a TCP port.
Status
Published on crates.io — cargo install conmux. Conflux ships it; it also stands alone.