ShortcutForge
Create and edit Apple Shortcuts on Windows.
Magyar leírás
ShortcutForge is a Windows desktop app for building shortcuts for Apple's Shortcuts app (iPhone, iPad, Mac). You can build them visually with action cards, much like in the Shortcuts app, or write them as code. You can also open existing .shortcut files, edit them and export signed files that import straight onto your devices.
Features
- Visual editor: action cards like in the Shortcuts app. They support drag and drop, blocks (If / Otherwise, Repeat, Repeat with Each, Choose from Menu), a condition editor, collapsible cards, and undo / redo.
- Variables like on the iPhone: pick any action's output or a named variable. Get it as a type (
.as(Number)), read a property (.get("File Size")) or a dictionary key (["name"]), and rename outputs.
- Text view (DSL): the same shortcut as code, with syntax highlighting, completion (Ctrl+Space), folding and inline error markers. It stays in sync with the visual editor.
- 194 built-in actions in categories. Any other action (including third-party App Intents) is kept and editable as a generic block, so nothing is lost when you import a shortcut.
- Open / import: signed and unsigned
.shortcut files, binary and XML plists, iCloud share links.
- Export:
.shortcut files, signed for free online (Shortcuty), on your own Mac over SSH, or by a signing server.
- Send to iPhone with a QR code (Ctrl+Shift+E): signs the shortcut and shows a QR code; scan it with the iPhone camera on the same Wi-Fi and a small download page opens on the phone — tap Download and Shortcuts imports the file. No AirDrop, cable or cloud needed.
- Templates (File › New from template) and an online template gallery (File › Template gallery) that grows on GitHub without app updates: pomodoro, clipboard to notes, translate, resize photos, random picker, QR code, word count, night mode and more.
- Command palette (Ctrl+K): type a few letters to run any command, template or add any action; fuzzy and accent-insensitive.
- Update notifications: checks GitHub for a newer release once a day (can be turned off; also Help › Check for updates).
- Shortcut from a description (AI) (File › Shortcut from description, Ctrl+Shift+N): describe what you want in plain words, in any language, and Claude writes the shortcut. You can review it before opening. It needs your own Claude API key (Tools › Settings, or the
ANTHROPIC_API_KEY environment variable). Your description is sent to Anthropic.
- Dry run (Tools › Dry run, F5): run the shortcut step by step on Windows and see what each action produces. Text, numbers, variables, lists, dictionaries, dates and If / Repeat / Menu run for real, and questions and menus appear as dialogs. iPhone-only effects are only shown, and actions that need the device are skipped. Files, the network and the real clipboard are never touched.
- Light / dark theme (follows Windows), English / Hungarian UI (View menu).
Signing — important
Since iOS 15, iPhone, iPad and Mac only import shortcuts signed by Apple, and signing is only possible on macOS (shortcuts sign). ShortcutForge offers several ways around this:
Free, online, no Mac: Shortcuty (recommended). In Tools › Settings choose "Free online signing – Shortcuty". The app also offers this once, the first time you export. After that, Export .shortcut saves a signed file that you can import right away via AirDrop, iCloud Drive or email. It uses the public Shortcuty signing API ("anyone" mode, no API key). The full shortcut is sent to Shortcuty's server, so do not sign shortcuts containing passwords, API keys or personal data this way. Shortcuty announces API changes on its official Discord.
- Free, on the iPhone: File › Export for iPhone saves
Name.plist. Open it on the phone with the free Shortcut Source Helper shortcut (RoutineHub), which signs it remotely and imports it. The app walks you through the steps.
- Your Mac over SSH: enter a Mac (your own or a rented cloud Mac) in Tools › Settings, and the app signs on export automatically. This needs Remote Login enabled on the Mac, and iCloud sign-in for "anyone" mode.
- Signing server: any shortcut-signing-server compatible URL, for example one running on your own Mac.
The text language at a glance
#name "Good morning"
#icon color=blue glyph=59511
greeting = Text("Good morning, {ShortcutInput}!")
if greeting contains "morning" {
Notification(greeting, title: "Hello")
} else {
Alert("Not morning")
}
fruits = List(["apple", "pear"])
foreach fruits {
ShowResult(RepeatItem)
}
action "com.example.app.SomeIntent" (Param: "value")
data = GetContentsOfUrl("https://example.com/api")
Alert(data.as(Dictionary)["name"]) // type + dictionary key
The full reference is in the app: Help › Text language (DSL) help, or F1.
Download and run
Easiest: download ShortcutForge--win-x64.exe from the latest release and run it. It is a single file for Windows 10/11 x64 and needs no .NET install. SmartScreen may warn because the file is not code-signed; choose More info › Run anyway.
With winget (once the package is accepted into the winget repository):
winget install kipergrof.ShortcutForge
Or build from source (requires the .NET 10 SDK):
git clone https://github.com/kipergrof/ShortcutForge.git
cd ShortcutForge
dotnet run --project src/ShortcutForge.App
To make a single self-contained .exe that runs without .NET installed:
dotnet publish src/ShortcutForge.App -c Release -r win-x64 --self-contained -p:PublishSingleFile=true -o publish
Project structure
| Project | Contents |
|---|
ShortcutForge.Core | Model, lossless plist reading/writing, action catalog (Catalog/Data/*.json), import (signed AEA files, LZFSE, Apple Archive, iCloud), localization |
ShortcutForge.Dsl | Lexer, parser and pretty-printer with verified lossless round trips |
ShortcutForge.Signing | ISigner: unsigned export, Shortcuty, Mac over SSH, signing server |
ShortcutForge.App | WPF app (MVVM, CommunityToolkit.Mvvm, AvalonEdit, Fluent theme) |
tests/* | xUnit tests: plist and DSL round trips, LZFSE reference vectors, a real Apple-signed file, view models, signers |
dotnet test
Adding an action: add an entry to the matching src/ShortcutForge.Core/Catalog/Data/*.json file with its identifier, name, DSL name and parameters.
The version number is set in Directory.Build.props.
Known limitations
- iCloud link import uses iCloud's unofficial web API.
- Icons are chosen by SF Symbol glyph number; the symbol itself is not previewed.
- Variable names written in the DSL (
x = …) are not stored in the shortcut. When the shortcut is read back, names are derived from the output name (e.g. text).
Privacy
No telemetry, no accounts, no ads. Settings stay on your PC, and the app only goes online for features you use. See the privacy policy.
Author and license
ShortcutForge is created by Krisztián Szilvágyi (@kipergrof).
MIT. Third-party notices: THIRD-PARTY-NOTICES.md.
ShortcutForge is not affiliated with Apple. Apple, iPhone, iPad, Mac and Shortcuts are trademarks of Apple Inc.