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 opens to a welcome screen with two cards: Build a flow or Capture.
  2. Click a step in the Build a flow card to start scripting — this opens the Build & Record tab, whose preview starts in Simulated mode, showing your real screen behind the cursor for WYSIWYG targeting.
  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. A Switch app step brings your demoed app forward whenever you need to change focus.
  4. Press Space to play the synthetic preview, or hit Run Live to drive your real cursor through the flow. Use Run & Record to capture it to Compose & Export, then add zooms and export.
  5. When it looks right, File → Export to Video… renders an MP4.

Prefer to demonstrate rather than build? Click Capture on the welcome screen instead — see Record actions below.

The .showrunner file

A .showrunner document holds one or more scenes — each a self-contained flow with its own steps, start point, canvas size, and (optionally) a bookmark to a paired screen recording. A new document starts with a single scene; add more from the scene strip above the canvas when you want several independent takes in one file (see Export to video). 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. Add ⌘/⇧/⌥/⌃ chips in the inspector for a modifier-click (⌘-click, ⇧-click…).
Right-clickA secondary click at the current point — modifiers optional.
Hold / ReleasePress and hold the button, then release — put Move steps between them to perform a drag. A modifier set on the Hold stays held through the whole 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 — it's captured even when the combo is a system or another app's global hotkey, instead of firing it.
ScrollTurns the scroll wheel at the current point — set the direction (down, up, left, or right) and how many lines, spread over the step's duration. Honors your natural-scroll setting.
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. In Simulated mode the canvas shows your real screen — ShowRunner excludes its own window — so you click exactly where the target should land. Once you've recorded a run, switch to Over recording and scrub to the exact frame to pin a target against the real footage. 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. To move several at once, drag a box across empty canvas to marquee-select a group of targets, then drag any one of them — or arrow-nudge — to move them all together; a click on empty space clears the selection.

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. A new section opens with its title field focused so you can name it right away. 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 Capture and perform the walkthrough yourself. A Record in… picker lets you pick the app to demo (ShowRunner brings it forward and opens the flow with a Switch step), choose what to record and hide, then Start Recording. ShowRunner hides itself, 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.

Tabs & preview

ShowRunner has two tabs, switched from the toolbar or the View menu:

TabWhat it's for
Build & Record (⌘1)Author the flow and preview it. Place targets against your live screen, then play the synthetic walkthrough or run it live.
Compose & Export (⌘2)The paired screen recording becomes the master: scrub it, lay zoom spans, polish the cursor, add a camera and a scene, and export.

In Build & Record, the transport's mode switch picks what the preview composites the synthetic cursor over:

Preview modeBackdrop
SimulatedYour real screen, live, for WYSIWYG targeting (ShowRunner excludes itself).
Over recordingThe paired capture, played behind your steps — appears once a recording exists, so you can refine targets against the real footage.

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

Scrub & playback

Both tabs play back on a buttery, frame-accurate timeline that keeps true speed even on a busy Mac. Drag the scrubber to seek; the step under the playhead lights up with a ring as it plays, scrubs, or rests. Step one frame at a time with ⌘← / ⌘→. In Build & Record's Over recording mode, clicking a step jumps the footage to the moment that step happens — for a Move, to where the cursor arrives.

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, even during the countdown. To start partway through, right-click a step and choose Run Live from Here. Turn on Show steps during run (the Live Run button's menu) to keep the step list floating over the apps you're driving instead of hiding behind a countdown.

Run options

The Build & Record menu holds a few toggles, shared by live runs and recordings:

Run & Record

Run & Record (⌘⇧R) does both at once: it drives the cursor through your flow and captures the screen, so the finished footage already matches your steps exactly. Choose Record screen for the whole display or Record active window for a single window — captured without the recording badge macOS overlays on the traffic lights — and optionally Record microphone and Record camera. You can also Capture (⌥⌘R) to perform the walkthrough by hand instead; either way the footage lands in Compose & Export. When a recording finishes, a Recording Complete sheet offers to refine the steps in Build & Record or jump to Compose & Export to polish and export.

Zoom spans

In Compose & Export, the second timeline track holds zoom spans — stretches where the camera pushes in on the action. Drag a span to move it, drag its edges to retime, or use the inspector to set the scale, the focus point, and Follow cursor (so the zoom tracks the pointer). Flip a span to Picture in Picture to show the zoomed region as a floating inset instead of pushing the whole frame — drag the bubble to reposition it and its corner handles to resize, with the on-canvas source box framing exactly what the bubble shows. Keyboard: i / o set the selected span's in/out point to the playhead, and m adds a span (or slides the selected ones to the playhead).

Auto-zoom

An empty zoom track shows an Add auto zooms button; clicking it (or the wand in the toolbar) reads your recorded clicks and drags and lays smooth zoom spans wherever the action is. The heuristics keep the camera in while you stay within a region — it won't pop out only to pop right back — and only zoom out when the cursor jumps across the frame. Quiet, isolated clicks are left wide. Regenerate any time; your hand-placed and hand-tuned zooms are easy to drop in alongside.

Hot spots

A hot spot draws the eye to a region of the recording by animating the UI there as the cursor reacts. Click Add Hot Spot in Compose & Export, then drag the dashed box over the area and size it from the corner handle. Its settings card sets the hover reaction (scale, glow, or lift), the click reaction (a pop or radiating rings), the strength, corner rounding, an exact width and height (arrow-key nudgeable), and an accent color — plus an option to hide the cursor's own click ring over the spot so it doesn't double up with the rings. The effect plays only where the timeline drives it — selecting a hot spot to edit it leaves the footage flat. Magnify 4× (Z) for pixel-precise work: the view fills the frame, you can pan to reach the edges, the settings card follows the selected spot, and the arrow keys nudge it ( for ten).

Cursor polish

The composited cursor over your footage is yours to style. Pick its motion — smooth (de-jittered) or stylish (eased, intentional glides that never arc off the frame); recordings captured from your own actions add a third option, exact, that plays your real movement back unsmoothed — and layer on optional flair: lean into travel, squash & stretch, motion blur, a comet trail, a click bounce, and colored click rings. The same cursor you see while scrubbing is exactly what exports.

Didn't quite land on a button? In Compose & Export, drag a step's numbered circle to retarget where the cursor lands — the move and the clicks at that spot travel there together, and a Reset pill restores the recorded position. No re-recording needed. Turning on 4× with a step at the playhead frames the cursor so the nudge is pixel-precise.

Camera & microphone

Record your microphone to narrate — it's mixed straight into the screen recording. Record your camera to add a webcam bubble: choose its corner, size, and shape (circle or rounded square) in Compose & Export, and it automatically ducks away when the cursor needs the space it's sitting in. Camera and microphone access are requested up front so a system prompt can't interrupt a run.

Scene background

Drop the capture onto a scene for a screenshot-quality frame: a tasteful gradient or your own background image, with the recording floated on top. Set it in Compose & Export's Scene controls; it renders into the export.

Sound & music

Turn on Audio in Compose & Export to layer sound onto the export. Pick from a library of sound effects (clicks, key presses, typing, pops) — each one cues automatically off matching steps in your flow — and add an optional music bed, either one of the bundled tracks or your own audio file, with its own volume level. Both mix straight into the rendered video alongside any microphone narration.

Export to video

File → Export to Video… (⌘E) renders a clean H.264 MP4 with everything baked in — the composited cursor, your zoom spans, the hot spots, the camera bubble, the narration, sound effects and music, and the scene background. The Size menu sets the output dimensions: Full renders at the capture's native pixel resolution, with 75% / Half / Quarter for quick test exports. A progress bar shows the render; a Stop button cancels it and still leaves an openable file with the frames rendered so far. The export looks the same on every machine.

A document can hold several scenes — separate recordings, each with its own zooms, cursor, and styling, switched from the tabs above the canvas. Export the active scene on its own, all scenes stitched into one continuous video, or every scene as its own file. Set a per-scene transition — Fade, Slide Left, Slide Right, Push, or Zoom — to cut between scenes smoothly in a stitched export.

Keyboard shortcuts

ShortcutAction
SpacePlay / pause the preview
⌘1 / ⌘2Build & Record / Compose & Export tab
⌘RRun Live
⌘⇧RRun & Record
⌥⌘RCapture actions
⌘← / ⌘→Step one frame back / forward
sCycle the step overlay (full chips / numbers / off)
i / o / mZoom in-point / out-point / add (Compose & Export)
Z · ⌘8Magnify 4×
⌘9Show hot spots
⌘EExport to Video…
⌘A · -click · -clickSelect steps
Delete selected step(s) or zoom(s)
Arrow keys ( = ×10)Nudge the selected target(s) or hot spot
EscAbort a run (incl. countdown) / 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 5 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.