Shortcuts Files Should Be Text
I acknowledge this is a pretty strange complaint when you think about all the other ways that Shortcuts could be improved (so, so many) but allow me to walk you through my thinking:
- I want to do something with Shortcuts because it is Apple’s only cross-platform automation tool.
- I don’t know how to do it in Shortcuts because the actions are poorly documented and often use oddball names that the incredibly basic search won’t help you connect to.
- I can’t easily search the internet for exactly what to use because the terms are often too generic to produce useful search results.
- I can’t use LLMs even though they can handily generate simple code snippets, because Shortcuts are not text-based code, so they frequently describe many steps to create a Shortcut in the Shortcuts app that unfortunately involve hallucinating other terms because they’re used in the english words surrounding descriptions of things.
- I can’t use any other editor to make changes to Shortcuts, like I could with literally any other kind of automation software or code.
The problem is that the Shortcuts are binary blobs, but they should be text of some variety. When I started learning computer animation at school we used Maya, and Maya had two kinds of scene descriptions: Maya Binary (.mb) and Maya ASCII (.ma).
Our instructors were very specific in telling us that there was no good reason for us to use .mb files. If something went wrong with the binary file while it was being saved, and it was corrupted in some way, that they couldn’t help us recover data or fix the file.
The .ma format, on the other hand, is just text, that uses a simple subset of Maya’s MEL scripting language. You didn’t even need to be an expert in the language if you just needed to nudge some stuff, or ask someone else to help you recover data, or identify a problem. Most importantly: If you don’t want, or need, to hand-edit the text you never, ever, ever have to.
Every compositing package I have worked with, from Shake, to Bonsai, to Katana, to Nuke has been in a format that you can open and edit in any text editor to recover data, or automate scene file creation.
Here’s a neat blog post where someone walks through the anatomy a Nuke script. Knowing the anatomy of a Nuke script has never been part of my job description as a Nuke compositor, but whenever I’ve needed to delete an errant Viewer node, or remove a reference to a malfunctioning plug-in, I can do it without having to use the GUI that might not be happy with the evaluating the buggy file.
You can diff these files, you can do find-and-replace because you changed file paths, you can duplicate complicated script logic more easily than in the GUI. Have you ever made a for loop in Shortcuts? Did you want to throw something across the room afterward?
Of course, I’m sure the Shortcuts team would prefer for you to edit your Shortcuts in Shortcuts, but it should not be the only place. Undoubtedly they don’t want to make something that’s as obtuse as AppleScript, but people are still using AppleScript in 2025 to fill in the gaps. In 2025 LLMs can capably produce AppleScript, ironically negating much of AppleScript’s difficulty.
It would also be incredibly beneficial to Apple to produce text files because then they could train their Foundation models to understand and build the Shortcuts.
Users could tell the LLM of your choice that you want a Shortcut to generate some YAML headers for a blog post, or to convert a Google Maps point of interest URL into an Apple Maps one. Whatever it is you can describe in plain words but can’t easily map to Shortcuts functions without going to Shortcuts Night School for six years.
I’m sure Apple wants to maintain the signed, and relatively safe, status of Shortcuts — which is totally a thing they should do — but they can quarantine Shortcuts files with Gatekeeper until a user inspects them and approves them in Shortcuts.
Say you don’t need to generate one with LLM assistance at all, you just want to write it in BBedit, Coda, VSCode, Emacs (weirdo). You do that too, and it prompts you to check it in the app before you can run it.
That seems far more reasonable to me than expecting the Shortcuts app to be able to service all automation use cases, and experience levels by generating binary blobs of limited scope and complexity. What’s so wrong with text? Let’s do things the write way.
Category: text