Monitor and interact with all your tmux sessions across all your machines from a single browser tab — on any device, including your phone.
You have tmux sessions running on your dev box, your build server, and a VM. Checking on them means SSH’ing into each machine one at a time.
Terminal apps on iOS are clunky. There’s no good way to glance at your running sessions from your phone or tablet on the go.
A build finishes, a test fails, a process bells — but you don’t notice until you manually reconnect and check.
You shouldn’t have to remember which machine is running what. Your sessions should come to you.
A web-based tmux session dashboard powered by FastAPI, xterm.js, and ttyd. Live-preview tiles, full interactive terminals, and federation across machines — all in one browser tab.
Live ANSI-colored preview tiles in a responsive grid — auto-refreshed, hover-to-expand
Full interactive xterm.js terminal with clipboard, search, clickable URLs, and inline images
Multiple muxplex instances share sessions across machines with heartbeat sync
Add to home screen on iOS/iPadOS — touch scroll, responsive layout, works everywhere
ANSI-colored terminal snapshots rendered as preview tiles. Two view modes: Auto (scrollable grid) and Fit (all sessions fill the viewport). Configurable column count and font size.
Bell notification badges glow on tiles with unseen activity. The browser tab shows (N) count and the favicon gets an amber dot overlay — so you notice from another tab.
+ button to create sessions with custom command templates. × to delete. Device selector dropdown when federation is enabled — create sessions on any connected machine.
Full-size overlay of session content appears on tile hover (configurable delay). Sidebar session switcher provides quick-switch between sessions with live previews.
Multiple muxplex instances federate into a unified view. Sessions from all your devices appear in a single dashboard.
Configure remote instance URLs in Settings. The poll cycle fetches sessions from each remote, merging them into the local dashboard with device badges.
User preferences sync across all connected servers using a P2P newer-wins protocol with per-server timestamps. 30-second poll interval. Offline servers catch up automatically on reconnect.
Viewing a remote session clears its activity bell on the remote server automatically via POST /api/bell/clear. No stale notification badges across federation.
Bearer token auth between instances. Self-signed TLS accepted. Unique remoteId:name session keys prevent collisions for identically-named sessions on different machines.
Ctrl+Shift+C to copy, mouse-select auto-copies. OSC 52 tmux bridge sends tmux copy-mode selections to system clipboard.
Ctrl+F opens scrollback search. Ctrl+Click opens URLs in terminal output. Powered by xterm-addon-search and xterm-addon-web-links.
Sixel and iTerm2 graphic protocols via xterm-addon-image. File managers like yazi render previews directly in the browser terminal.
Touch scroll fixes for Safari. PWA-capable — add to home screen for app-like experience. Responsive grid adapts from phone to desktop.
PAM auth (Linux/macOS system credentials) or password mode. Localhost bypass for convenience. Secure signed session cookies with configurable TTL.
muxplex setup-tls auto-detects Tailscale, mkcert, or self-signed certs. Required for browser clipboard API on non-localhost.
22,679 lines of tests (Python + JS) against ~10,000 lines of source. 18 test files cover API, CLI, frontend rendering, CSS validation, federation sync, and more.
All settings in ~/.config/muxplex/settings.json. CLI flags override config, config overrides defaults. Browser settings panel at , shortcut.
muxplex doctor for diagnostics, muxplex upgrade for smart version check + auto-update + service restart. Service installs with one command.
From first commit to federated multi-device dashboard with full test coverage in under three weeks. v0.1.0 through v0.3.3 — seven releases shipping real features and federation.
Live session grid, xterm.js terminal, ttyd integration, PAM auth, PWA manifest. The core dashboard.
Auto TLS setup (Tailscale/mkcert/self-signed). Favicon activity badge, (N) tab count. Terminal search, clickable URLs, inline images. Federation SSL fixes.
All display preferences moved server-side. Federation session deletion. Session creation error reporting. 10+ bug fixes.
Settings sync across all connected servers (P2P newer-wins). Heartbeat-driven bell clearing. New sync API endpoints. The federation milestone.
Federation auth hotfix (v0.3.1), hidden sessions filter for federated sessions (v0.3.2), iOS/iPadOS touch scroll fix (v0.3.3). Community PR from @samueljklee.
One command to install. Run it on every machine, federate them together, and never SSH just to check on a session again.
All data in this deck was extracted directly from the bkrabach/muxplex repository on 2026-05-20.
git log --oneline --no-merges | wc -lgit tag -l | wc -l (v0.1.0, v0.1.1, v0.2.1, v0.3.0, v0.3.1, v0.3.2, v0.3.3)find muxplex -name '*.py' -not -path '*/tests/*' ... | xargs wc -l (Python: 4,639 + frontend: 5,349 = 9,988)git log --format="%aN" --no-merges | sort | uniq -c: Brian Krabach (404), Samuel Lee (1), Sam Schillace (1), Amplifier (1)CHANGELOG.mdFeature descriptions sourced from README.md and CHANGELOG.md. No metrics were fabricated or estimated.