Your tmux sessions, from any browser.
muxdeck is a single Go binary that serves a session manager and a full
terminal for the tmux server it runs next to. Every browser tab is a real
tmux attach client — splits, scrollback, copy mode, and the status
line all just work.
curl -fsSL https://raw.githubusercontent.com/josecarlosrivas/muxdeck/main/install.sh | sh
no accounts · no telemetry · MIT
1:features
Everything tmux gives you, nothing it doesn't
Full terminal in the browser
xterm.js attached over WebSocket. Multiple viewers of one session behave
exactly like multiple tmux attach clients — watch a deploy from
your laptop and your phone at once.
One static binary
The frontend — xterm.js included — is embedded in the binary. The only
runtime dependency is tmux itself. Linux and macOS, amd64 and
arm64.
Installable PWA
Add it to the home screen on an iPad or phone. A touch key bar covers what
software keyboards lack: esc, tab, arrows, and a sticky ctrl — so
ctrl-b works everywhere.
Sessions that survive
Create, kill, rename, deep-link with /#name. Sessions live in
the tmux server, not in muxdeck — restart muxdeck and everything is still
running.
2:demo
The actual UI
Session list on the left, live terminal on the right. What you see is the whole app — there is nothing else to configure.
3:install
Run it your way
The installer detects your platform, checks for tmux, and offers to set up a systemd or launchd service. Or grab a release binary and run it directly:
./muxdeckloopback, no auth — try it./muxdeck -addr 0.0.0.0:8300LAN — access code auto-generated./muxdeck -addr 0.0.0.0:8300 -token s3cretfixed token./muxdeck -tls-cert cert.pem -tls-key key.pembuilt-in TLS, no proxy neededA browser terminal is remote code execution by design, so auth is on by default: bind beyond loopback without a token and muxdeck prints access code: XK7M2P at startup. Opting out is explicit (-no-auth), never accidental.