- name
- shortcuts:cli
- description
- Running and managing Apple Shortcuts via the macOS shortcuts CLI. Use when the user wants to run, list, or inspect shortcuts.
- disable-model-invocation
- true
- allowed-tools
- ["Bash(shortcuts:*)","Bash(open:*)"]
- hooks
- {"PreToolUse":[{"matcher":"Bash(shortcuts:*)","hooks":"[Truncated]"}]}
# Shortcuts CLI
The `shortcuts` command manages and runs shortcuts on macOS.
## Run
```bash
shortcuts run "My Shortcut"
shortcuts run "My Shortcut" -i input.txt
shortcuts run "My Shortcut" -o output.txt
echo "data" | shortcuts run "My Shortcut"
```
Run by identifier (stable across renames):
```bash
shortcuts run "01C97432-525A-4BF6-94DF-C35458FCD21A"
```
Get identifiers with `shortcuts list --show-identifiers`.
### Headless behavior
Shortcuts with GUI actions (alerts, menus, input prompts) fail with "Running was cancelled" when run from the CLI. Only non-interactive shortcuts work headlessly.
### Permissions
First-time actions (notifications, location, contacts, etc.) trigger a macOS permission dialog. The shortcut pauses until the user approves. Inform the user when running a shortcut that may trigger prompts.
## List
```bash
shortcuts list
shortcuts list --show-identifiers
shortcuts list -f "Folder Name"
shortcuts list --folders
```
## View
Opens a shortcut in the Shortcuts app editor.
```bash
shortcuts view "My Shortcut"
```
## Sign
Sign a `.shortcut` file for import (requires network — contacts Apple's signing service):
```bash
mkdir -p out
shortcuts sign -i "My Shortcut.shortcut" -o "out/My Shortcut.shortcut"
```
Sign into an output directory to preserve the unsigned binary. The filename (minus `.shortcut`) becomes the shortcut name on import — don't add suffixes.
## Import
There is no `shortcuts import` command. Open the signed file to trigger import.
```bash
open "out/My Shortcut.shortcut"
```
The user confirms import in the Shortcuts app GUI.
View on GitHub