Real keystrokes, at a human pace.
Write your demo as blocks. During the take, one hotkey types the next block into whatever field has focus.
MIT license · macOS 14+ · everything stays on your Mac ·
brew install --cask alexpolonsky/tap/typecue
Building from source: xcodegen generate, then build - details in the README.
Each press of ⌃⌥X plays the next block. This scene is simulated; the app sends real keystrokes.
A script is an ordered list of text blocks, one per beat of your demo. Pace them with inline markers like [0.5] and [speed:40].
Your editor, a browser, a chat app. TypeCue waits in the menu bar.
The next block types itself, human-paced. Press again for the block after, or mid-type to stop.
For demo videos, tutorials, webinars, and live presentations.
System-level key events, not a clipboard paste - nothing for the receiving app to tell apart from you typing it.
Inline markers set the rhythm: [0.5] pauses, [speed:40] changes tempo, [enter] submits on cue.
Timing varies at spaces and punctuation, the way people actually type.
An always-on-top panel tracks typed, typing, and next while the target app keeps focus.
Layout-aware and RTL-ready. Anything outside your layout arrives by direct Unicode entry.
Multi-line blocks use Shift+Return by default, so chat apps hold the message until you mean it.
Accessibility access to send keystrokes. There is no account, no network call, and no analytics anywhere in the app.
Scripts live in a plain JSON file you can edit by hand, sync, or hand to your AI tools.
TypeCue is driven by the tools you already use. Claude Code, Cursor, or any agent with access to your machine can author scripts, pace them like a director, and control the app.
The repo ships an agent skill with the script schema, guardrails, and pacing rules. Give this line to your agent:
Then ask for things like "turn these prompts into a well-paced TypeCue script". The agent writes the blocks, adds the markers, and reloads the app. You press the key.
Accessibility is the macOS API for sending keystrokes to other apps - the entire mechanism, and the only permission TypeCue asks for. Verify it in the onboarding Test Pad before you go live; the code is open if you want proof.
No - macOS blocks synthetic typing into secure fields for every app, TypeCue included. It detects this and warns you instead of silently swallowing your block. Passwords stay manual.
Yes. Typing is layout-aware, RTL included. Characters on your active layout go out as real keystrokes and everything else arrives by direct Unicode entry, including when you switch input sources mid-session.
Anything with a text field: browsers, editors, chat apps, terminals, TextEdit.
Those expand snippets or run automations on demand. TypeCue plays an ordered script, one hotkey press per block, with pacing you direct. It was built for performing a demo rather than for everyday shortcuts.
Scripts are plain JSON at ~/Library/Application Support/TypeCue/scripts.json;
agents edit the file directly. Three commands drive the app -
typecue://activate-script, typecue://reset-session, and
typecue://reload - and the session mirrors to state.json so
tools can watch progress. The skill documents all of it.
Yes. MIT license, no restrictions, no fine print.