Several Macs
Run a macro on another of your Macs from a hotkey, the palette or a Run macro step, over Bonjour on the same network or through iCloud, and what happens while that Mac sleeps.
If you have a laptop and a desktop, the laptop's hotkey can start the recording, open the project or run the backup on the desktop. A Mac asking another Mac is the same request your iPhone already sends, from a different sender.
Set it up #
Sign in to the same iCloud account on both Macs.
Turn on Sync through iCloud in Settings › Sync on both.
On the Mac that will do the work, expose the macros you want to run from elsewhere (Agent settings,
agent.exposed), the same switch that puts a macro on your iPhone's Pad.
The first time the engine looks for your other Macs on the network, macOS asks whether Switchboard may find devices on your local network. Allow it; without it, requests still travel through iCloud, only slower.
Settings › Macs lists every Mac that has signed in: its name, whether it is awake, when it was last seen, and whether it is on this network right now. Rename this Mac there; leave the field empty to use the computer's name. Forget removes a retired Mac from the list.
Run a macro on another Mac #
In a macro: add a Run macro step and choose the Mac in Run on. The macro menu then lists that Mac's exposed macros and the inputs each takes. The step reads "Run Start recording on Mac Studio". Name a variable in Save result as to receive what the macro gives back.
From the palette: type a macro's name. Macros on your other Macs match too, in a group On Mac Studio after your own results. Return runs it there ("Sent to Mac Studio", then "Done on Mac Studio"); Option-Return does a dry run there. A Mac that is asleep shows "Mac Studio is asleep · will run when it wakes".
The macro runs with the other Mac's own permissions and follows its own approval setting: a macro that asks on your phone still asks. The run is marked as started by the Mac that asked ("Kyle's MacBook") in Activity there, and it is never counted as an agent's.
How a request travels #
| Path | When | What the trace says |
|---|---|---|
| Bonjour | Both Macs are on the same network and awake | on Mac Studio · run 8f2a · 1.2 s over Bonjour |
| iCloud | Anywhere else | on Mac Studio · run 8f2a · 14 s through iCloud |
Over Bonjour the request goes straight to the other Mac. Through iCloud it is saved in your private iCloud and the other Mac picks it up; a push usually lands in seconds and sometimes takes a minute. If Bonjour can't deliver, iCloud carries the same request, so a Mac you can't reach directly still works.
While a Mac sleeps #
A request to a Mac that is asleep is queued, not lost. It runs when the Mac wakes (a request more than a day old is dropped). A step that waits for the result fails when its timeout ends, with "Mac Studio hasn't answered; the request is queued"; turn Wait for it to finish off and the step succeeds at once, with status queued. Switchboard does not wake a sleeping Mac.
Who can send a request #
Only your own devices. Both ends prove who they are before anything is sent: each device keeps a private key in its Keychain that never leaves it, and publishes the matching public key in your iCloud zone. A Bonjour connection is accepted only after both sides sign the handshake with keys the zone lists, so another device on a café network can't send a request, and what travels is encrypted. A Mac you Forget loses its key's place in the zone, and with it its access.
A Mac outside your iCloud account, a colleague's for instance, never receives a request this way. Use a webhook for that.
Limits #
The macro must be exposed on the Mac that runs it.
A remote run's trace is mirrored to your iCloud for the retention you set, so the Mac that asked can open it. Other runs are never mirrored.
Copying a macro to another Mac and waking a sleeping Mac are not part of this yet.