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. The Setapp version is a one-time purchase, not part of a Setapp Membership subscription; it installs through the Setapp client, with no separate license key and no trial. 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:
- Screen Recording — to show your live screen as the editing backdrop, and to record runs. Grant it in System Settings → Privacy & Security → Screen Recording.
- Accessibility — to move the real cursor and post clicks and keystrokes during a Run Live, and to capture your actions when recording. Grant it in System Settings → Privacy & Security → Accessibility.
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.
Quick start
- Open ShowRunner. A new document opens to a welcome screen with two cards: Build a flow or Capture.
- Click a step in the Build a flow card to start scripting — this opens the Build & Record tab, whose preview starts in Live mode, showing your real screen behind the cursor for WYSIWYG targeting.
- 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.
- 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.
- 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; click the scene name in the toolbar, beside the two tabs, to add more 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.
Recordings themselves are saved in ~/Movies/ShowRunner/, in a folder per document, which keeps the five most recent takes plus any a scene still uses. A duplicate of a document (Finder's Duplicate, File → Duplicate, or Save As) gets its own copies of the recordings the first time it opens, so the original and the copy never share footage and re-recording in one can't remove a take the other still shows. On the Mac's own disk the copies take no extra space until one of them changes.
Step types
| Step | What it does |
|---|---|
| Move | Glides the cursor to a target with eased, intentional motion. Has its own duration. |
| Click | A quick press and release at the current point. Set Clicks to Single, Double, or Sequence — a sequence takes a Count (2–50) and the time Between each click. Within your Mac's double-click time the clicks count up as one multi-click (three make a triple-click); further apart, each lands as its own click. Click sounds, hot-spot pops and click rings play for every click. Add ⌘/⇧/⌥/⌃ chips in the inspector for a modifier-click (⌘-click, ⇧-click…). |
| Right-click | A secondary click at the current point — modifiers optional. |
| Hold / Release | Press 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. |
| Type | Types a string of text. Multi-line; the field grows as you type (⌘↩ to confirm). Capitals and shifted symbols are typed with a real ⇧ press, so they come through even in apps that read the keyboard directly, like the iOS Simulator. |
| Keys | Fires 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. |
| Scroll | Turns 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. |
| Swipe | Presses, sweeps a distance in one direction, and lets go — a Hold, Move and Release folded into one step. A Flick lets go while still moving, so a scroll view carries on under its own momentum the way a finger-flick does; pick Gentle, Normal or Hard and it works out the distance and timing. A Drag settles before letting go instead, for a drag-and-drop. |
| Wait | Pauses for a beat — useful for letting an animation finish. |
| Switch app | Brings another app forward, optionally centering its window. |
| Section | A 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. App leads the list, since a flow usually opens by bringing one forward, and Capture sits up beside the heading rather than among the chips — it starts a recording rather than adding a step. 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 Live 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 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; ⇧-click or ⌘-click targets to add them one at a time. A click on empty space clears the selection. Start at can be part of the selection too, and moves with the rest.
With several targets selected, a box with handles appears around them. Drag a handle to spread the targets out or pull them closer together; hold ⌥ to scale from the center, or ⇧ to keep a corner in proportion.
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 — or press Return to grab it right away, once you're hovering the spot. A floating heads-up display shows the countdown; press Esc to cancel. (Inside an open menu, macOS swallows key presses, so the timer is what carries it there.)
Duration & pause
Two timing controls shape the pacing. Duration is how long the action itself takes — Move, Type and Scroll have one. A Flick works its own out from the distance and strength you choose, so it offers those instead. 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.
Press Return to apply a value you've typed into any inspector field, or Esc to throw it away. Either way the keyboard goes back to the step list, so the arrow keys move between steps again. Every inspector change is undoable, including Scroll and Touch settings.
Select several steps in the list to edit them at once. The inspector shows what they have in common — duration, pause, modifier keys, and, when the steps are the same kind, that kind's settings, like a Scroll's direction or a Type step's text. A field where the steps differ reads Mixed until you set it; whatever you change applies to every selected step.
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. Because sections never run, adding, renaming or moving one doesn't mark a recording as out of date.
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:
- Cursor moves that settle become Move steps; a quick down-up is a Click; a press-drag-release becomes Hold → Move → Release. A modifier held during a click or drag is captured with it.
- Typing accumulates into Type steps; modifier combos become Keys; scroll-wheel turns become Scroll steps; switching apps becomes Switch app.
- Idle "think" time between actions is captured as each step's pause-after.
Its countdown takes Return to begin at once, the same as a run. Press Esc anywhere to stop. The captured steps go in after the selected step — first in the flow with Start at selected, or at the end with nothing selected — 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:
| Tab | What 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 mode | Backdrop |
|---|---|
| Live | Your real screen, live, for WYSIWYG targeting (ShowRunner excludes itself). |
| Recording | The paired capture, played behind your steps — appears once a recording exists, so you can refine targets against the real footage. |
| Image | A still you pasted in. Edit → Paste Image as Backdrop (⌘⇧V) puts whatever image is on the clipboard behind your steps — handy for building a flow against a screen you can't keep in front of you. The canvas resizes to the image, so a target picked on the still lands on the same pixel when it runs. Clear Backdrop Image takes it away again. |
The canvas's view controls sit together in the row above the timeline: the step overlay (full chips, numbers, or off), the hot spot toggle, the display and capture frame in Build & Record, and Magnify. Press Z (or View → Magnify 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 ⌘← / ⌘→. Click a step's glyph on the timeline, in either tab, to put the playhead right on it. In Build & Record's Recording mode, clicking a step in the list 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 Return during the countdown to start at once rather than waiting it out, and 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:
- Hide other apps during run — clears everything but the demoed app for a clean take, then restores your windows when it finishes.
- Hide desktop icons and Hide menu bar — tidy the screen for a distraction-free recording; both are restored afterward. The countdown shows a spinner while the menu bar hides. If macOS won't auto-hide it (seen on macOS 27 when the menu bar is set to never hide), ShowRunner covers it with your desktop for the recording instead, steps still land where you placed them, and a centered window still sits in the middle of the shot. Neither option appears when you record the active window, since neither is in the shot.
- Place the window on a Switch app step — center it, snap it to a half/quarter, or size it to a fixed preset (1280×800, 1920×1080…) as it comes forward, so the footage opens with a consistent window. The capture picker has a matching Size option to set the window before recording. Targets shift to follow the window so clicks still land true, and the window is restored to where it began when the run ends.
- Switched-to apps are brought to the front so they show through the live backdrop while you place targets. Selecting any step floats the app that's in front at that point — and if that Switch step sets a window placement, the real window snaps to it so the backdrop matches where the demo runs.
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.
If you then change what a step does — its target, timing, text or keys, a Scroll or Touch setting, or a drawn Move's path — a banner marks the recording as out of date, with a button to record again.
Light & dark versions
To show the same walkthrough in both appearances, make a scene into a light/dark pair: open the scene list from the scene name in the toolbar, choose Make Light/Dark Pair from the scene's ⋯ menu, and say whether the scene you have is the light or the dark version. ShowRunner adds the other version beside it, and the pair shows in the scene list as one card with a Light row and a Dark row. A sun and moon switch next to the scene name flips between the two, keeping your place.
The two versions share their steps, zoom spans, hot spots, pauses, hidden segments and cursor corrections. Change any of them in either version and the other follows, and zooms and pauses are lined up to each version's own recording step by step. Each version keeps its own recording, cursor and canvas, so a dark take can sit on a darker background with a lighter pointer. The Scene panel marks its Cursor and Canvas sections Light or Dark and its Camera and Audio sections Shared.
Recording a version switches your Mac to Light or Dark Mode first and switches it back afterwards. The first time, macOS asks whether ShowRunner may control System Events, which is how it changes the appearance. If you decline, you can still record in whatever mode the Mac is in. When the other version already has a recording, ShowRunner offers to match its recording settings if yours differ, and to reuse its camera video and microphone audio rather than record them again. Reused camera and audio play from the start of the recording.
Separate Light & Dark in the pair's menu turns the two back into ordinary scenes, named with (Light) and (Dark) so you can tell them apart. See Export to video for exporting a pair.
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).
Spans snap to each other's edges as you drag. Place two zooms end to end and the camera moves straight from one to the next instead of zooming out and back in; two Picture in Picture zooms end to end glide the inset to its new size and position. Right-click a span and choose Duplicate Zoom to put a copy right after it.
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.
Frame rate picks 60 fps, which matches the capture and keeps cursor motion smoothest, or 30 fps, which renders in about half the time into a smaller file. Speed plays the export from 0.5× to 4×, with audio kept at its pitch. Both are remembered for next time.
To trim a scene, pick it from the list beside the preview in the Export dialog and drag the yellow handles on its filmstrip; the frame under the handle shows as you drag. Only the part you keep is rendered, so a trimmed export is faster too. Trims are saved with the document. Click Reset under the strip to export the whole scene again.
A document can hold several scenes — separate recordings, each with its own zooms, cursor, and styling, switched from the scene name in the toolbar. 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.
Once a document has light/dark pairs, the stitched export comes in a light video, a dark video, or both at once: each takes every ordinary scene plus its own version of each pair. Current scene, light and dark exports both versions of the scene you're on, one file each. Light and dark versions are marked with a sun and moon in the Scenes menu.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| Space | Play / pause the preview |
| ⌘1 / ⌘2 | Build & Record / Compose & Export tab |
| ⌘R | Run Live |
| ⌘⇧R | Run & Record |
| ⌥⌘R | Capture actions |
| ⌘← / ⌘→ | Step one frame back / forward |
| s | Cycle the step overlay (full chips / numbers / off) |
| i / o / m | Zoom in-point / out-point / add (Compose & Export) |
| Z · ⌘8 | Magnify 4× |
| ⌘9 | Show hot spots |
| ⌘E | Export to Video… |
| ⌘⇧V | Paste an image as the backdrop |
| ⌘A · ⇧-click · ⌘-click | Select steps |
| ⌫ | Delete selected step(s) or zoom(s) |
| Arrow keys (⇧ = ×10) | Nudge the selected target(s) or hot spot |
| ⌥ / ⇧ while dragging a selection handle | Scale targets from the center / keep a corner in proportion |
| Return | Apply an inspector field · skip a run / record / capture countdown · grab the spot now in Pick on screen |
| Esc | Discard an inspector field edit · abort 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.
On Setapp, the app is a one-time purchase — bought outright, not part of a Setapp Membership subscription — and there’s no license key to enter; Setapp handles the purchase and delivers updates automatically.