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

Add a widget first. Shortcuts only update widgets you place yourself (Desktop or Home Screen) after you set Edit Widget → Target name to match the action’s Target field. See Integrations → Getting Started.

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. Text fields may include CommonMark-style [label](url) links; the widget renders them as tappable buttons (same rules as CLI --text). Launcher button grids (including button-columns layout and button-border / per-button border styling) are set via structured JSON buttons through CLI --json (or any JSON payload path), not individual Shortcut fields in v1. See Widgets for the button and border field reference.

On Render Widget (Update TerminalWidget), optional Background Image places a full-bleed image behind text, icons, progress, charts, or tables. It is mutually exclusive with the content Image field, and Filter alpha:0-100 can fade it. The same field is available on Render Text, Render Chart, Render Progress, and Render Image. Combine Table and Background Image on Render Widget; the dedicated Render Table action does not include a background-image field. 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 or multi-series line groups (for example 0 1 5 2/1 2 5 3, up to four series), rangebar low-high pairs, pie label:value[:color] tokens (for example CPU:45 Memory:30 Disk:25), or JSON (flat, nested numeric, named series, or pie slices). Use Chart Format sparkline/bar for grouped slash input, Series Lines for overlapping line charts with a bottom legend, or Pie for categorical slices. Optional Append adds chart columns (same syntax as Chart) or text lines to the existing target without replacing other settings; optional Limit keeps the last N chart columns or text lines (persisted; 0 clears the soft limit). Append cannot be combined with Chart or Text in the same action. Comma-separated Foreground colors use the first value for text/icons and the rest for series or slice colors. Chart Bar Style Glass applies to sparkline/bar, waveform, range bar, matrix, and delta charts, and to circle progress rings when Progress Format is Circle (chart data not required for circle glass). Chart legend placement (inline, bottom, external key widget) and Chart Series Labels are available via CLI, URL scheme, or AppleScript — not as separate Shortcuts fields yet. Render Text, Render Chart, Render Progress, and Render Image expose the same title, alignment, title color, caption text, and timestamp fields where they apply. Render Chart and Render Progress also expose chart and bar-style fields where applicable (progress can use Caption for [n%] and Timestamp for the update time). Optional Notify on change persists in the widget payload (syncs via iCloud); Notify once fires a local notification only when this action changes display content and does not change the saved setting. Grant notification permission when prompted.

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

Multi-Series Line Chart Widget

Pie Chart 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 when prompted (that is what adds TerminalWidget under Settings > Notifications). 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.