Field Notes

Mac Shortcuts limitations: what it still can't do in macOS 27

macOS 27 fixed a lot in Shortcuts. Six limits are left, from no run history to no webhooks. I tested each one, with screenshots, and say where it matters.

Most lists of Mac Shortcuts limitations are out of date. No automations on the Mac, no way to store anything, no real AI: all three were true once, and all three are fixed. macOS 26 brought automations to the Mac. macOS 27 added stored content, an Otherwise If branch, Screenshot and Notification triggers, and Describe a Shortcut, which builds one from a sentence.

So I went through Shortcuts again on macOS 27.0 and kept only the limits I could reproduce. Six are left. I make Watchflows, a Mac automation app, so I am not neutral. Every claim below comes with the test that produced it, and the things Shortcuts does better than my app are at the end.

1. A failed run leaves nothing behind

I made a two-step shortcut: get the contents of a URL nothing is listening on, then show a notification. I ran it from the editor.

Fig. 1A two-step shortcut after a failed run. A dialog says "Could not connect to the server", the first step carries the same message in red, and the notification step never ran.

That dialog and the red line are the whole record. I closed the editor window and opened it again, and the red line was gone. The inspector has three tabs, Details, Storage and Setup, and none of them lists past runs. There is no place to see that a shortcut ran at 3 a.m., which step stopped it, or what the step before handed over.

For a shortcut you start by hand, that is fine. You were there. For an automation that fires on its own it is the main thing missing, because the question is always "did it run, and what did it see?"

In Watchflows every node gets a row in the run timeline with its status, how long it took, and the payload in and out. Replay runs a past run again on the input it captured. The execution model page has the details.

2. A failure has nowhere to go

The same test shows the second limit. The run stopped at the failed step. There is no action for "if this fails, do that instead", no retry, and no way to say "carry on anyway".

I will not oversell my own side here. Watchflows has no general try and catch either. What it has is narrower: AI nodes have a Failure outlet that turns an error into a branch, For Each can continue past an item that fails, other branches keep running when one stops, and the failed node is named in the run history.

3. One action at a time, in one column

Otherwise If is a real improvement. This is the branching of a small download sorter that uses it. To keep the picture about the branches, a line of text stands in for the downloaded file and a Show notification step stands in for each move:

Fig. 2A Shortcuts editor with twelve actions in one column: an If for .pdf holding an inner If, Otherwise If and Otherwise, then an Otherwise If for .png and a final Otherwise.

Two things follow from the list, and only the first is a hard limit.

A shortcut runs one action at a time, top to bottom. Say a new file should be summarised by a model and also uploaded somewhere. Neither step needs the other, but in a shortcut the second waits for the first. In Watchflows, steps wired side by side from the same node run at the same time.

The second is a matter of taste. In a list, the indent is the only sign of which branch you are reading, and you match each End If to its If by eye. A graph would not make this sorter smaller: five outcomes take about as many nodes as this has actions. What changes is that each branch is a wire you can follow.

Fig. 3One If drawn as wires on a Watchflows canvas. File Changed feeds a Condition, whose Yes outlet goes to a Notification and whose No outlet goes to Log to File.

4. No trigger takes a web request

This is the full list of automation triggers on my Mac:

Fig. 4The Automation list in Shortcuts on macOS 27, laid out here in two columns: Time of Day, Alarm, Email, Message, Folder, File, External Drive, Wi-Fi, Bluetooth, Stage Manager, Display, App, Screenshot, Notification and four Focus modes.

It is a good list, and the Folder and File triggers cover a lot. Apple's documentation adds Battery Level and Charger on a laptop. Every one of them watches something on the Mac or in an Apple app. None of them accepts an HTTP request. A GitHub push, a Stripe payment or a form submission arrives as a webhook, and there is no trigger to receive one unless a third-party app sits in between.

The closest built-in route is the Email trigger: have the service email you and match on the sender. That starts the shortcut, but what arrives is an email, not the request the service sent.

Also absent: copying something, the Mac sleeping, waking or locking, and a USB device that is not a drive.

Watchflows has a Webhook trigger on your own machine and a Public Webhook trigger with a stable HTTPS address, which comes with the $49 license, plus Clipboard, System Event and Device Event.

You can also step into a run that is already going. A flow can stop partway and wait for you: a Form on a floating panel, a chooser from Pick from List, or a Notification Prompt you answer from the banner, with buttons or a typed reply. Shortcuts has Ask for Input and Choose from Menu for the same job, so I count this as a difference in form, not a limit.

5. The AI is Apple's choice

The Use Model action is good, and free. This is everything in its model menu:

Fig. 5The Use Model action with its menu open: Cloud, Cloud Pro, On-Device, Extension (Set Up ChatGPT) and Ask Each Time.

Three Apple models and a ChatGPT extension. There is no row for a model you run yourself in Ollama or LM Studio, and no field for your own Anthropic, Gemini or OpenRouter key. If Apple's models suit the job, this costs you nothing. If you have already chosen a model, you cannot bring it.

Watchflows can use a model running on this Mac, an API key, or a Claude or ChatGPT subscription you already pay for. Apple Intelligence is on the list too. See AI providers.

Fig. 6The Watchflows first run asking where its AI should come from: Your AI subscription, Run it on this Mac, or Use an API key.

6. You cannot read the file

An exported .shortcut file is a signed archive. The first four bytes of the one above are AEA1, and file calls it data. You cannot open it in an editor, diff two versions, or review a change before you import it. The shortcuts command can run, list, view and sign a shortcut. It cannot print one.

That matters most now that assistants write automations. A .watchflow file is JSON: it goes in git, and a diff shows what changed. Watchflows also has an MCP server, off until you turn it on, that lets Claude or another assistant run the flows you choose as named tools. I found no equivalent built into Shortcuts.

What Shortcuts does better

Which one to use

If the automation is a few steps, starts from a tap, a hotkey or a folder, and you will notice when it breaks, use Shortcuts. It is very good at that, and it got better this year.

Look elsewhere when the automation runs while you are not watching. That is when you need a record of each run, something to happen on failure, a trigger a web service can call, a model you picked, and a file you can read. Those five needs are why I built Watchflows. It is $49 once, with a 14-day trial.

For flows that lean on these, see Receive GitHub webhooks on your Mac and Let Claude Code ask you a question in a Mac notification.