Real keystrokes, at a human pace.
Write your lines ahead of time. Each press of one hotkey types the next line into whatever app you're in - perfectly on cue. Built for demo recordings and live presentations.
macOS 14+ ·
On your phone?
brew install --cask alexpolonsky/tap/typecue
Building from source: xcodegen generate, then build - details in the README.
Each press of ⌃⌥X types the next line - .
A script is an ordered list of text blocks, one per beat of your demo, lesson, or scene. 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 one after, or mid-type to stop.
For demo videos, tutorials, webinars, and live presentations.
System-level key events, not a clipboard paste - to the receiving app, it's just you typing.
Inline markers set the pace: [0.5] pauses, [speed:40] changes tempo, [enter] submits on cue.
Timing varies at spaces and punctuation, the way people type.
An always-on-top panel tracks what's typed, what's typing, and what's 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 pass to your AI tools.
The tools you already use can drive TypeCue. 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, 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 - and switching input sources mid-session is handled automatically.
Anything with a text field: browsers, editors, chat apps, terminals, TextEdit.
Yes. ⌃⌥X is just the default - set any shortcut you like in Settings, and the menu shows whatever binding is active.
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.
Mostly product demos - recorded screencasts and live ones on stage or in a sales call. The same mechanics apply to tutorial and course recordings, coding livestreams where a segment is prepared ahead, and film or TV scenes where an actor types and the screen has to show real, coherent text.
TypeCue never phones home, so it never updates itself either. Homebrew users get
new versions with brew upgrade; everyone else downloads the new dmg
when a release interests them.
Yes. MIT license, no restrictions, no fine print.
or brew install --cask alexpolonsky/tap/typecue