On your machines
Run a command everywhere
One command on several machines at once, with each one’s output side by side.
Check the disks on every machine, update Homebrew on all your Macs, pull the same repo everywhere: Run (⌃6) runs one command on the machines you pick, at the same time, and shows each one’s output as it comes.
Run one
- Type the command.
- Pick the machines. Every machine that’s online is picked to start with; click one to leave it out, or None (then All) to start over. Offline and disconnected machines are greyed out.
- Click Run on N, or press Return.
To start with a single machine, right-click it in the sidebar › Run a command….
Where it runs
On each machine the command runs in your login shell, from your home folder, as you. Your PATH and tools are there as in your terminal. There’s no terminal and nothing to type into: a command that asks a question (a password, “Continue? [y/N]”) gets no answer and usually gives up. Pass the flag that skips the question, like -y.
It’s your real machines, not a sandbox. Read the command before you press Run on twelve of them.
The output
- Each machine gets a card, filled in as its output comes. The header says how it went: a check mark and how long it took, or why it failed (“Exit 1”).
- Above the cards, “All done”, or how many failed.
- The expand button on a card makes it bigger, with more of its output. All of it is in Activity (⌘J).
- Clear clears the results.
Recent commands
Your last eight commands are listed under the box as Recent. Click one to put it back. The × forgets them.
From a terminal and from agents
muxen run --on beacon,mac-studio -- df -h /
muxen run --all -- brew upgrade # every machine that’s online
muxen run --all --timeout 1800 -- git -C ~/code/api pull
- It waits for all of them and prints each one’s output and exit status. It exits 1 when any of them failed, so it works in a script.
- Each one may run 10 minutes by default;
--timeouttakes up to an hour (3600 seconds).
Agents use run_on_machines(machine_ids, command, timeout_secs?). They’re told to run it only when you ask, and to show you the command first. See MCP for your agents.
For something that should run at set times, not just now, make it a schedule.