Run a macro later
Start any macro at a time you type the way you say it, see everything scheduled in Upcoming, get a heads-up first, and use keys, the Later block and the late rules to make timers.
Run Later starts a macro at a time you choose, instead of now. The Mac holds the run, so it happens even if the editor is closed or your iPhone is off. Upcoming, in Activity, lists everything that will start on its own.
Run Later #
On the Mac, select a macro and choose Macro > Run Later… (⌃⌘R), use the clock button in the toolbar, or Control-click a macro in the sidebar. (⌥⌘R is Dry Run.)
In the palette (⌥Space), select a macro and press ⇧⏎ (⌥⏎ is Dry Run there). The field continues with the macro's name, so type the time straight after it: "back up in 20m" shows Run Back up · in 20 min as the top row.
In the menu bar, each pinned macro has Run Later with in 10 min, in 30 min, in 1 h, tonight 9 PM and tomorrow 9 AM, and Other….
On the iPhone, touch and hold a tile and choose Run Later…, or pick Later in the run form. On the Watch, touch and hold a tile and choose In 10 Min, In 1 Hour or Tonight.
From the command line,
switchboard run "Back up" --at "tomorrow 9"; from Claude, theschedule_runtool.
The sheet shows the time back as it understood it ("Tue, Nov 3, 9:00 AM · in 14 h"), so a typo shows before you press Schedule. When it is scheduled, a toast offers Undo.
Times #
Type times the way you say them, always meaning the next one: in 20m, in 2 hours, 9pm, noon, at 9, tonight, tomorrow 9, fri 5:30pm, next monday, Nov 14 at 3pm. A day alone means 9 AM. A time that has already passed today is refused rather than quietly meaning tomorrow. Run a macro later lists every form. A run keeps the instant it was scheduled for; if you travel, Upcoming shows the time in the zone you made it in.
Upcoming #
Upcoming is grouped Now, Today, Tomorrow, This Week, Later and Waiting for a Condition. It mixes runs somebody scheduled with the next times of your time, cron and periodic triggers (at most three per macro). A row shows the time, the macro, what it carries ("Later: turn Focus off"), who asked ("from ⌥Space", "Claude", "every weekday 9:00") and badges for Heads-up, Wake and a key.
On a scheduled row: Run Now, Change Time…, Edit Inputs…, Skip and Reveal Macro. On a trigger row: Skip This One (it skips only that occurrence, and can be undone). Every action has Undo. Finished recently lists how the last ten ended: ran, ran late, skipped late, cancelled, replaced, expired.
Upcoming also shows as a line under the menu bar status ("Next: Back up · 9:00 PM", hidden when nothing runs in the next day), as a Scheduled section in the macro's inspector, and in the cause card of a run it started ("Scheduled from ⌥Space at 3:10 PM for 9:00 PM · ran 2 s late"). On the iPhone it is in the Activity tab, in the same groups, with Run Now, Change Time and Skip; it opens with the last list the Mac sent, so it reads right with no connection. The Up Next widget shows the next one (small) or three (medium) runs.
A heads-up #
Under Options, Heads-up posts a notification before the run, "Back up in 1 min", with Run Now, Snooze for 10 Minutes and Skip. Snooze moves the run ten minutes from now and adds a note. If nobody is at the Mac (idle more than two minutes, or locked), the same notification goes to your iPhone.
A button on a run that has already started, was skipped or was cancelled does nothing and says so. A run starts at most once, whichever of the clock and a button gets there first.
Late runs #
A run happens on wall-clock time across sleep and clock changes. If the Mac was asleep or Switchboard wasn't running, the run is late when it gets the chance. Up to five minutes late it simply runs. Past that, If late decides:
Run It Anyway (the default) runs it and notes how late and why ("ran 2 h 10 min late: the Mac was asleep");
Skip It ends it as skipped with the same note;
Ask Me First posts "Back up was due at 9:00 PM, 2 h ago", with Run Now and Skip. Nobody answering for about four times the grace ends it as skipped.
A run that comes due while the Mac is locked waits for the unlock, and its lateness still counts from its time. If the engine stopped in the instant a run started, the run is marked skipped ("the engine stopped as it started") rather than run twice: a scheduled backup that ran twice is worse than one that was missed and reported.
Keeping the Mac awake #
Keep the Mac awake for it holds the Mac awake during the run's last ten minutes. It cannot wake a Mac that is already asleep: macOS doesn't let an app do that. If the lid is closed or the Mac is asleep at the time, the run happens when the Mac next wakes, and says how late it was.
Keys: debounce, snooze and Pomodoro #
Give a run a key and scheduling it again replaces the waiting one instead of adding another:
Debounce. "Save 5 s after the last edit" runs a Later block with a key; every edit pushes the save back. The Examples group has it.
Throttle.
ifExists: keepleaves the waiting run, so "remind me in 20 min" pressed three times is one reminder.Snooze. Scheduling the same macro again with the same key moves it.
Pomodoro. A Later block that notifies and runs its own macro again with the same key is a repeating timer in one macro; the Examples group has that too.
Run Later from a sheet uses one key per macro and asks Replace It or Add Another when one is already waiting.
The Later block #
For "do this now, undo it later", put the undoing steps in a Later block instead of scheduling a second macro. See Triggers that watch: becomes true, States, waiting runs ("For a while").
See also #
Triggers that watch: becomes true, States, waiting runs, Later, Run a macro later, Cancel a scheduled run, iPhone and Apple Watch, Keyboard shortcuts