ShowRunner documentation

ShowRunner makes smooth demos and tutorials: you lay out the clicks and typing once, and it performs the whole walkthrough perfectly every time — as a video export, or by driving your real Mac cursor live. This page walks through it in the order you'd actually meet it: install, build a flow, run it, export it.

Installation

The download from bendansby.com/apps/showrunner is a standard .dmg — open it and drag ShowRunner.app to your Applications folder. Requires macOS 15 Sequoia or later, on Apple Silicon or Intel. The app checks for its own updates; you can also check anytime via ShowRunner → Check for Updates….

Permissions

ShowRunner needs two macOS permissions, because it both sees and drives the cursor:

macOS may also prompt for Input Monitoring the first time you record your own actions. ShowRunner asks for each permission only when it first needs it, and tells you which one to grant if a feature is blocked.

ShowRunner is unsandboxed by necessity — driving and observing the system cursor is incompatible with the App Store sandbox. It has no account, no network calls, and no telemetry; nothing you build leaves your Mac.

Quick start

  1. Open ShowRunner. A new document starts with a single Switch app step — set it to the app you're demoing (or delete it).
  2. Turn on Live (top-left of the toolbar) so the preview shows your real screen.
  3. Click Move in Add a step, then click the preview where you want the cursor to go. Add a Click. Repeat to build your path.
  4. Press Space to play the synthetic preview, or hit Run Live to drive your real cursor through the flow.
  5. When it looks right, File → Export to Video… renders an MP4.

Prefer to demonstrate rather than build? Skip to Record actions.

The .showrunner file

Each flow is a .showrunner document — a compact file holding your steps, the start point, the canvas size, and (optionally) a bookmark to a paired screen recording. Every edit is undoable, and the document autosaves the usual macOS way.

Step types

StepWhat it does
MoveGlides the cursor to a target with eased, intentional motion. Has its own duration.
ClickA quick press and release at the current point.
Right-clickA secondary click at the current point.
Hold / ReleasePress and hold the button, then release — put Move steps between them to perform a drag.
TypeTypes a string of text. Multi-line; the field grows as you type (⌘↩ to confirm).
KeysFires a keyboard shortcut (e.g. ⌘C) recorded by pressing the combo.
WaitPauses for a beat — useful for letting an animation finish.
Switch appBrings another app forward, optionally centering its window.
SectionA heading that organizes the flow. Does nothing on run; collapse it to tidy a long list.

Adding & ordering steps

Click a chip in Add a step to insert that step after the current selection. Drag rows in the list to reorder, or right-click a row for its menu. Select several at once with ⌘A, -click, or -click, and delete the lot with (works whether the list or the canvas has focus).

Placing targets

Move steps need a screen position. With Live on, the canvas shows your real screen — ShowRunner excludes its own window — so you click exactly where the target should land. Toggle Freeze to lock the current frame and pick against a still without things moving underneath you. You can also nudge a selected target a pixel at a time with the arrow keys ( jumps ten), or type exact coordinates in the inspector.

Pick on screen

Some targets only exist mid-interaction — an item inside an open menu, a button in a popover — and can't be seen in a static backdrop. Use On screen… in the inspector: it starts a 10-second countdown while you open the menu and hover the exact spot, then grabs the cursor's location when the timer hits zero. A floating heads-up display shows the countdown; press Esc to cancel.

Duration & pause

Two timing controls shape the pacing. Duration is how long the action itself takes — only Move and Type have one. Pause after is the beat held after the step before the next begins. Together they give you full control over rhythm without fiddling with a timeline.

Sections

Add a Section step to label a stretch of the flow ("Open the editor", "Export"). It's purely organizational — it never runs. Click the chevron on a section heading to collapse the steps beneath it; adding or dragging a step into a collapsed section re-opens it.

Record actions

Instead of building a flow by hand, click the red Record chip and perform the walkthrough yourself. ShowRunner hides itself, then watches your input with a listen-only event tap and turns it into editable steps:

Press Esc anywhere to stop. The captured steps are appended to your flow, and the screen is recorded at the same time so you get a matching backdrop (see below). Tune the segmentation afterward — every step is fully editable.

Backdrops

The preview canvas composites the synthetic cursor over a backdrop. Three modes, chosen in the toolbar:

ModeBackdrop
LiveYour real screen, updating in real time, for WYSIWYG targeting.
FreezeA still snapshot of the current backdrop, so nothing shifts while you place targets.
RecordingThe screen recording captured alongside a recorded run, played in sync with the flow.

Press Z (or View → Zoom 4×) to magnify the canvas for pixel-precise placement, and scroll to pan while magnified.

Scrub the recording

When a recording backdrop is loaded, a film-strip scrubber appears under the transport. It seeks the footage by its own time — independent of the steps — so you can drag through the whole recording to find an exact moment and pin a target against it, even after you've added, edited, or deleted steps. Freeze works here too: scrub to a frame, freeze it, then place targets.

Run Live

Click Run Live (or press ⌘R) and ShowRunner drives your real cursor through the flow after a short countdown — actual moves, clicks, and keystrokes against the live system. Press Esc at any time to abort. To start partway through, right-click a step and choose Run Live from Here.

Run options

The Run options menu (and the Demo menu) hold a few toggles:

Record the run

Turn on recording in the Run options (or Demo → Screen Recording) to capture a Run Live to an MP4 in ~/Movies/ShowRunner. Choose Record screen for the whole display, or Record active window for a single window — captured without the recording badge macOS normally overlays on the window's traffic lights. Toggle whether the cursor appears. When the run finishes, ShowRunner reveals the file in the Finder.

Export to video

File → Export to Video… (⌘E) renders the flow to an MP4 with the synthetic cursor drawn over a frozen backdrop — a clean, repeatable demo clip that looks the same on every machine. Unlike a recorded Run Live (which captures your live screen), the export is a self-contained render of the scripted motion.

Keyboard shortcuts

ShortcutAction
SpacePlay / pause the preview
⌘RRun Live
⌘⇧RRecord actions
⌘1 / ⌘2 / ⌘3Live / Freeze / Recording backdrop
Z · ⌘8Magnify 4×
⌘EExport to Video…
⌘A · -click · -clickSelect steps
Delete selected step(s)
Arrow keys ( = ×10)Nudge the selected target
EscAbort a live run / stop recording / cancel Pick on screen

Languages

ShowRunner is localized into 11 languages: English, Українська, Deutsch, Español, Français, Italiano, 日本語, 한국어, Português (Brasil), Русский, and 简体中文. It follows your Mac's language automatically.

License

ShowRunner is free to try for 7 days. After the trial, an occasional reminder appears (every few live runs) until you buy a license; a one-time purchase unlocks it for good with no further reminders. Enter or buy a license from ShowRunner → Enter License… / Buy License…. There's no account and no subscription — the license is tied to your purchase, not a login.