Skip to content
Muxin
Docs · Muxin for iPad

Your machines

Muxin for iPad

Your machines and their agents on an iPad: add them by their address or pair it from your Mac, then watch, answer and start sessions, and get an alert when an agent needs you.

Muxin for iPad shows your machines and the agents on them, away from your desk. Watch a session, answer what an agent asks, type into its terminal, or start a new one. Open a machine’s desktop, files, logs and services. The iPad talks to each machine directly: your Mac doesn’t have to be on.

Muxin for iPad’s Overview: the machines in the sidebar with their sessions, desktops and runners; what needs attention at the top; and a card for each machine with what runs there and its CPU, memory and disk. Muxin for iPad’s Overview: the machines in the sidebar with their sessions, desktops and runners; what needs attention at the top; and a card for each machine with what runs there and its CPU, memory and disk.
The Overview on an iPad: your machines, what runs on each, and what needs you.

Muxin for iPad isn’t on the App Store yet.

Add a machine by its address

Tap + next to Machines in the sidebar, then Add a machine. Type your account there and the machine’s name or address, like adib@192.168.1.50, adib@studio.local or a Tailscale name, and its ssh port if it isn’t 22.

  1. The first time, Muxin shows the machine’s key, like SHA256:5SzP…. Check it on the machine with ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub (on Windows, the file is in C:\ProgramData\ssh), then tap Trust it.
  2. The iPad signs in with a key of its own. The first time, its key isn’t there yet, so Muxin asks for your password there, once. It uses it to put the iPad’s key in ~/.ssh/authorized_keys, and doesn’t keep it.
  3. Muxin installs its agent and sets up a direct connection, as the Mac does. From then on the iPad reaches the machine directly.

A machine that doesn’t take passwords over ssh needs the iPad’s key added by hand, as a line in ~/.ssh/authorized_keys. On Windows, an administrator’s keys go in C:\ProgramData\ssh\administrators_authorized_keys. Settings › General › This iPad’s SSH key copies it.

After that the iPad reaches the machine directly, over UDP port 47821. If a firewall there blocks it, the iPad says so when you add the machine.

Muxin on an iPad can’t start the ssh program, so it has an ssh client of its own. It doesn’t read an ssh config: name the machine by its address. It works with Macs, Linux and Windows.

Or pair it with your Mac

If Muxin on your Mac already has your machines, pair the iPad once and it reaches the ones you pick.

  1. On the Mac, open Settings › iPads. Tick the machines the iPad should reach, then click Pair an iPad. A QR code shows.
  2. On the iPad, tap Pair with your Mac and scan the code.
  3. Both show the same 6-digit code. Check that they match, then click Allow on the Mac.

The iPad makes a key of its own, and each machine you picked trusts it. From then on the iPad connects to them directly, over your network or Tailscale, the same way a direct connection works on the Mac. A machine without direct connections yet gets them as you pair, so it has to be online then.

To add machines later, pair again. To take an iPad off every machine, click Unpair next to it in Settings › iPads. An iPad that’s connected at the time is let go within seconds.

From a terminal: muxin ipad pair, muxin ipad ls and muxin ipad rm <name>.

To look around before pairing, tap Try the demo on the iPad’s first screen.

Sessions on the iPad

Sessions work as they do on the Mac. Tap one in the sidebar to see its terminal, with its agent, folder and branch above it. When the agent asks something, its question and choices show under the terminal: tap one to answer.

A Codex session on the iPad, asking to run a test command. Under the terminal, the question again with three buttons: Yes, proceed; Yes, and don’t ask again for this command; No, and tell Codex what to do differently. A Codex session on the iPad, asking to run a test command. Under the terminal, the question again with three buttons: Yes, proceed; Yes, and don’t ask again for this command; No, and tell Codex what to do differently.
Codex wants to run a command. The answers are buttons under its terminal.
  • Type with the on-screen keyboard and its bar of esc, ctrl and the arrows, or with a hardware keyboard.
  • Pinch a terminal to change its text size.
  • Two fingers left or right go to the next or previous session.
  • Side by side. Split a session’s page to watch two or more at once, or open one in a window of its own, in Split View or Stage Manager.

Alerts

With alerts on, your machines tell the iPad when an agent needs you, even while Muxin is closed:

  • Waiting for you. An agent worked, then went quiet: it finished, or it asks something.
  • Rang the bell.
  • Exited with an error.

Turn them on in the iPad’s Settings › General › Alerts, and allow notifications when the iPad asks. Each kind has its own switch. Under them, each machine says whether it took the change. Send a test alert asks each one for an alert now.

An alert says what happened, in which session, on which machine: “Claude Code is waiting for you”, “Checkout fix · Forge”. Tap it to open that session. While you’re already looking at a session, its alerts don’t show.

A machine that says Needs a newer Muxin runs an agent from before alerts. Update Muxin on your Mac: it updates a machine’s agent the next time it reaches it.

  1. 01

    On your machine

    The agent sees a session waiting, and seals the alert with a key only your iPad has.

  2. 02

    muxin.dev passes it on

    It hands the sealed alert to Apple’s push service. It can’t read it, and keeps nothing.

  3. 03

    On your iPad

    Muxin opens it with its key, and shows what happened and where.

Alerts are encrypted from your machine to your iPad.

How it stays secure

  • Keys of its own. The iPad makes its keys itself, and they never leave the iPad: one for its direct connections, and one for ssh when it adds a machine. Nothing else a machine trusted changes.
  • Host keys you checked. The first time the iPad signs in to a machine, you check its key. If it changes later, the iPad refuses to connect.
  • Your password, once. It’s used to put the iPad’s key on the machine, and isn’t kept.
  • You allow it. Pairing shows the same 6-digit code on the Mac and the iPad, and nothing is trusted until you click Allow.
  • Straight to your machines. Sessions, desktops and files go from the iPad to each machine over an encrypted connection (QUIC), checked against each machine’s certificate. They never go through muxin.dev.
  • Alerts only it can read. Each alert is encrypted on the machine with the iPad’s key. muxin.dev and Apple only carry it. The id the machines send alerts to is the iPad’s push token, encrypted by muxin.dev, so nothing about your iPad is stored there.
  • Removing ends it. Remove a machine from the iPad, or unpair the iPad on the Mac, and the machine forgets the iPad’s keys and stops sending it alerts.

What stays on the Mac

The iPad reaches the machines you added or paired, directly. These stay on the Mac:

  • Making VMs and cloud machines, and opening a folder in your editor.
  • Machines named by an ssh config alias or reached through another (a jump host).
  • The command line and the MCP server for your agents.
  • Sharing. The iPad can join a share someone made, but it doesn’t share anything itself.