Use TerminalWidget’s App Intents in Shortcuts.app for native automation that does not require shell commands or manual URL encoding.

Shortcuts.app showing TerminalWidget actions and the Update TerminalWidget configuration options

Available Shortcuts Actions

TerminalWidget exposes intent actions for common update types:

These map to the same validation/rendering pipeline used by CLI, AppleScript, and URL scheme updates.

On Render Widget (Update TerminalWidget), optional Title, Title Alignment (Left, Center, Right; default Center when Title is set), Title Color, and Caption Text accept GitHub :emoji: shortcodes (for example :rocket:, :white_check_mark:), same as Text and Icon. Caption Text implies Caption and replaces auto [min/max] or [n%] text. Optional Label Y adds a left y-axis to numeric charts, and Timestamp shows the last CLI/URL update time at the bottom (with or without Caption / Caption Text). Chart accepts space-separated numbers, slash-separated grouped sparkline/bar series (for example 0 1 5 2/1 2 5 3, up to four series), rangebar low-high pairs, or JSON (flat or nested numeric arrays). Use Chart Format sparkline/bar for grouped slash input. Comma-separated Foreground colors use the first value for text/icons and the rest for series colors. Chart Bar Style Glass applies to sparkline/bar, waveform, range bar,

On Render Widget, optional action fields can assign what happens when the widget is tapped or clicked:

Actions are saved with the target payload and sync through iCloud. On macOS, all four action kinds are supported. On iOS, URL and Shortcut actions are supported; synced macOS-only app and shell actions fall back to the normal widget open/update behavior.

Build Your First Shortcut

  1. Open Shortcuts.app and create a new shortcut.
  2. Add the Render Widget action from TerminalWidget.
  3. Set Target (for example widget1).
  4. Fill any fields you want to update (Text, Icon, Progress, etc.).
  5. Run the shortcut and confirm the widget refreshes.

Passing Data Into Actions

Shortcuts variables can drive any field in the action.

From Input Prompt

  1. Add Ask for Input (Prompt: Widget text).
  2. Add Render Text.
  3. Set Target to widget1.
  4. Set Text to Provided Input.

From Dictionary/Data

  1. Build a Dictionary with keys like target, text, progress.
  2. Add Get Dictionary Value actions.
  3. Feed each result into Render Widget parameters.

From Web/API Data

  1. Add Get Contents of URL.
  2. Parse JSON fields (for example status or numeric metrics).
  3. Convert/format values if needed.
  4. Pass results into Render Widget, Render Chart, or Render Progress.

Pattern Examples

Daily Status Widget

Build Result Widget

Chart Snapshot Widget

Grouped Sparkline Widget

Circle Progress with Glass Ring

Launcher Widget

Use run-shortcut with a Shortcut name to make the widget run another Shortcut when tapped. Use open-app with a macOS bundle identifier or run-command with a shell command for macOS-only launcher widgets.

Data Formatting Notes

If optional fields are omitted, those values are left unchanged (or reset by intent defaults where applicable).

Mixing with URL Scheme and CLI

You can combine integrations in one workflow:

Related docs:

iOS Shortcuts

All Shortcut actions are also available on iOS.

On iPhone and iPad, open TerminalWidget once after install and allow notifications in Settings > Notifications > TerminalWidget. The app relies on push notifications to pull iCloud widget updates in the background; without permission, Home Screen widgets may not refresh until you open the app. The same permission is required for notify-on-change alerts.