Skip to content

docs

Two minutes to your first mobile session.

No account, no config file, no reverse proxy. If tmux runs, mtmux attaches.

Install

Requires Node 22 or newer and tmux installed. Works on macOS, any glibc or musl Linux, and WSL2. The browser side needs nothing but WebSocket support, which every current browser has — there is no app to install and no account to create.

Quickstart

  1. Run it on the machine your tmux server is on

    mtmux # start is the default command
  2. Scan the QR, or type the code at app.mtmux.com

    app.mtmux.com · 48 29 13 # the code is in the URL fragment, never sent to a server
  3. You're attached — check or stop the server any time

    mtmux status # the browser is trusted from now on
note

Run mtmux start --local to skip the tunnel entirely: it serves loopback and your LAN and contacts no broker at all. mtmux local is the same thing, shorter.

CLI reference

Twenty-three commands, every flag, and the environment variables behind them — including share grants, device revocation and the token commands. It is generated from the CLI source, so it does not drift.

Read the full CLI reference

Self-hosting

mtmux is self-hosted by default: the CLI runs on your machine and holds its own token. Three degrees of independence beyond that — LAN-only, your own pairing broker, or the whole split deployment.

Read the self-hosting guide

Troubleshooting

Run mtmux doctor first — it checks Node, tmux, the port, config permissions and the broker. Twenty-five symptoms with causes and fixes, covering startup, connecting, pairing, the terminal, sessions, files and performance.

Read the troubleshooting guide

This page is the quickstart. The reference documentation — architecture, the sealed tunnel, the relay protocol, deployment and the web app — lives at docs.mtmux.com.

Still stuck? GitHub Discussions or [email protected].