tmux alternatives on Windows
There is no native Windows build of tmux. tmux is built on POSIX PTYs and Unix domain sockets; Windows has ConPTY, which is a different thing with different semantics. Everything below is either Linux-in-a-box or a different tool.
Run it inside WSL
The most faithful answer. Install WSL2, install tmux inside it, and you have real tmux with your real config. It multiplexes the Linux processes inside that distribution.
It does not multiplex Windows processes. Your PowerShell sessions, your MSVC builds and your native Windows tooling live outside the box tmux is running in, so if your work is genuinely on Windows rather than merely on Windows hardware, this solves the wrong half of the problem.
tmux under Git Bash or MSYS2
MSYS2 packages tmux and it does run. Expect friction: it works with the MSYS2 PTY layer rather than ConPTY, native Windows console programs behave oddly inside it, and clipboard integration and mouse handling need coaxing. Fine for a POSIX-shaped workflow that already lives in MSYS2; frustrating as a general-purpose multiplexer.
Windows Terminal panes
Windows Terminal has tabs and split panes, free and built in, and they work with PowerShell, cmd and WSL alike. If what you wanted from tmux was splits, you already have them.
What it does not have is persistence. Close the window and the shells go with it — there is no detach and reattach, which for many people is the entire reason they ran tmux.
psmux
psmux is a multiplexer written for Windows from the ground up, in Rust, with no WSL, Cygwin or MSYS2 underneath. It runs PowerShell, cmd, Git Bash and WSL shells side by side, detaches and reattaches sessions the way tmux does, and installs with `winget install psmux` on Windows 10 or 11. Free and MIT-licensed. If you want tmux's model on native Windows shells, try this first.
Zellij
Zellij is a modern multiplexer with a friendlier default UX than tmux. Since version 0.44 (March 2026) it runs natively on Windows — a `zellij.exe` you start from PowerShell or Windows Terminal — with the same session management it has on Linux and macOS. Free and MIT-licensed. The Windows port is recent and the releases since have been fixing it, so expect some rough edges.
A terminal with persistence built in
The other way out is a terminal that keeps its shells outside the UI process, so there is no multiplexer to install. Cross Platform Terminal does this natively on Windows: turn on “Keep shells running when the app closes”, and shells move to a background daemon. Close the app mid-build, reopen it, and the session reattaches with scrollback and the build still running.
- It is the app's own tabs and panes, so there is no prefix key and no second keybinding layer. That, not persistence itself, is the difference from psmux and Zellij, which now persist native Windows shells too.
- The same build and the same shortcuts work on Linux, which is usually why the question came up in the first place.
- It is local only — for a session on a remote host, you still want tmux on that host.
- It is paid, with no trial. psmux and Zellij are free.
Which to pick
- Your work is Linux, Windows is just the laptop: WSL2 plus tmux. Free, faithful, done.
- You only wanted splits: Windows Terminal already does that, free.
- You wanted tmux for native Windows shells: psmux, or Zellij if you prefer its UX. Both free.
- You wanted shells that survive closing the terminal, with no multiplexer to learn, and the same app on Linux: that is the gap CPT fills.
- You are on a remote host: tmux on the host. Nothing local applies.