tmux for agents,
across all your machines.

Start maude on any machine and see every machine you own, every project, and every terminal and agent running on them. Drive any of them from where you are, without SSH.

curl -fsSL https://maude.run/install.sh | sh

or brew install --cask artofrawr/tap/maude

maude projects
▾ profound
▶ ● linux-server •
● macbook · wt-feature
▾ maude
○ mini
▸ claude-control ●
● profound/main@linux-server
● relay 23ms ? help
~/src/profound main
❯ claude
Do you want to proceed?
❯ 1. Yes
2. No
maude/profound/main 0:claude 1:tests

Everything tmux lacks, nothing it already does

Inside a session, tmux is tmux: your prefix, your config, splits, windows, copy mode. Sessions survive the client, the daemon and the relay.

Projects, not hosts

A project is the unit; a binding is where it lives, a machine and a directory. Each binding is one tmux session, one keystroke away.

Agent-aware

See whether the agent in a pane is working, blocked on you, done or idle, with unread markers like a chat app. State comes from Claude Code's own hooks, not from scraping the screen.

A relay instead of SSH

Every daemon dials out, so machines behind NAT are reachable from your laptop or your phone. No inbound ports, no SSH keys to juggle.

End-to-end encrypted

Terminal bytes are encrypted between your device and the machine with Noise IK. The relay brokers the stream and cannot read it.

Notifications that respect you

Blocked fires at once, done after a short delay, never for what you are already looking at. Per-project mute and quiet hours.

A phone that's useful

Answer mode shows the last lines of the pane, a reply box and big y / n / Esc buttons. A push notification opens it on the window that's asking.

Up in four steps

  1. curl -fsSL https://maude.run/install.sh | sh

    Install maude on every machine (macOS or Linux, tmux 3.2 or newer).

  2. maude

    Run it on your laptop. The first run signs you in to a relay and offers to run a daemon here too.

  3. maude enroll ABCD-EFGH --service

    Enroll each server with a code from the sidebar. It dials out to the relay and stays up as a service.

  4. :project import @linux-server

    Pick up every repository on a machine, select a binding and press Enter.

What it isn't

Free and open source

Apache-2.0, multi-user and self-hosted.

curl -fsSL https://maude.run/install.sh | sh