voiacast

Developers, SREs, sysadmins

Dictation in the macOS terminal

The terminal is the field your hands are in. Voiacast types into it on key release — the same as it types into any other text field.

Before

The system dictation works in some terminals and not others. The cloud dictation tools open a separate window; you copy out, switch apps, paste, then switch back. The friction is the context switch, not the words.

After

You hold the hotkey in the same window the cursor is in. Words appear on key release. The custom dictionary spells your service names the way you spell them. The terminal stays focused, the shell history stays useful, and the prompt is still where you left it.

Jobs to be done

What this scenario is for.

How to

Step by step.

  1. Grant Accessibility once. The first time you dictate into a terminal, macOS prompts for Accessibility permission so Voiacast can type into other apps. Allow it. The prompt only happens once.
  2. Use push-to-talk, not toggle. Hold the hotkey while you talk; release to type. The push-to-talk shape avoids the 'half-spoken thought catches a system beep' problem.
  3. Add your service names to the dictionary. Add the kubectl namespaces, the AWS regions, the project codenames, and the team acronyms. The dictionary applies on every transcription regardless of focused app.
  4. Talk in short, complete clauses. Pauses are fine; punctuation lands itself. Short clauses transcribe better than long meandering sentences — that's a general rule for any dictation tool.

Frequently asked

Questions, answered briefly.

Does Voiacast work in Terminal.app, iTerm2, and Ghostty?

Yes — all three accept the keystroke stream Voiacast produces. Terminal.app and iTerm2 are tested daily; Ghostty and Alacritty behave the same way because the underlying typing path is the same.

What about tmux and screen?

Yes. Voiacast types as keystrokes; whatever is bound to the terminal pane receives the input. tmux and screen pass it through cleanly.

Can I dictate over SSH?

Yes. The keystrokes arrive at the remote shell the same way you would type them. Latency depends on your link; Voiacast itself adds no extra round-trip.

Will it mistake words for shell builtins?

Sometimes. Single words like 'ls' and 'cd' transcribe inconsistently because the model is biased toward prose. For shell commands themselves, use the keyboard; for the human-readable messages around them, dictate.

Can I bind the hotkey to a key the terminal doesn't already use?

Yes. The hotkey is fully configurable in settings. Pick a combination your terminal app doesn't consume.