Dictation in Terminal on a Mac: what works by voice, and what is better typed

You can dictate into Terminal and the other Mac terminal apps the same way as anywhere else: put the cursor at the prompt, start dictation, and talk. Dictation is good for the prose you type in a terminal, such as commit messages, notes and long requests to command-line tools, and poor for exact commands full of symbols, which are faster to type.

I make YapToText, a dictation app that treats terminals as a special case, and I dictate most of what I write because my hands make typing difficult. This page says what YapToText does in a terminal and where it stops being worth it.

Download YapToText on the Mac App StoreThis app is completely free. You don't have to make an account. There are no subscriptions, no difficult downloads, and nothing is locked. Made for Apple silicon Macs. Source on GitHub.

On this page: 8 sections
  1. Steps
  2. What YapToText does differently in a terminal
  3. What to dictate, and what to type
  4. Symbols by voice, when you need them
  5. Apple's own Dictation in a terminal
  6. Code editors and their built-in terminals
  7. The short version
  8. Questions

Steps

  1. Click the terminal prompt.
  2. Tap Right Command and say what you want to type.
  3. Tap Right Command again and read the text at the prompt.
  4. Press Return only when it is right.

What YapToText does differently in a terminal

  • No reading around the cursor. Intelligent Insert normally reads the words around your cursor with a few invisible keystrokes. Those keystrokes are shortcuts in a terminal, so it is off automatically in Terminal, iTerm2, Warp, Ghostty, kitty, Alacritty, WezTerm, Hyper and Termius.
  • A technical lean in Auto mode. With Auto on, Terminal, iTerm2, Hyper and WezTerm lean toward Code Comment, which keeps phrasing short and technical and keeps identifiers exactly as said.
  • Pasted, not typed. The text arrives by paste by default. If one terminal handles that badly, pin it to type character by character in Settings, Advanced, Text output.

Nothing runs on its own: the text lands at the prompt, and the command waits until you press Return.

What to dictate, and what to type

  • Dictate commit messages. Start the message, dictate it, and close the quote by hand. Code Comment's short phrasing suits commit messages.
  • Dictate requests to command-line tools. Anything that takes a sentence of plain language is easier said than typed.
  • Dictate notes and comments. Text going into a file through an editor in the terminal works like any other text field.
  • Type the commands. Flags, paths and pipes are short and exact, and a single misheard character changes what runs.

Symbols by voice, when you need them

If you do want a symbol, YapToText's spoken commands can produce it. One-word names need the word insert in front while that setting is on, which is the default.

  • Paths. Say insert slash for /, and insert tilde for ~.
  • Names. Say insert underscore for _, and insert hyphen for -.
  • Pipes. Vertical bar works on its own at the end of a clause, because two-word names do not need insert.

The spoken punctuation guide has every name. For anything literal, Raw Transcription skips the cleanup step and types what the speech model heard.

Apple's own Dictation in a terminal

Apple's Dictation works in apps where you can type text, and a terminal prompt is one of them. I have not tested it in every terminal app, so try it in yours before relying on it.

Apple's version has no per-app behavior and no technical lean, so treat its output like any other dictation and read it before you press Return. The Mac dictation shortcut page shows how to start it.

Code editors and their built-in terminals

Editors with a terminal panel get the same behavior in the editor itself: Auto leans toward Code Comment in Xcode, VS Code, Cursor, JetBrains IDEs, Sublime Text and Zed. The dictation for coding guide and the VS Code page cover writing code comments and messages by voice.

Download YapToText on the Mac App StoreThis app is completely free. You don't have to make an account. There are no subscriptions, no difficult downloads, and nothing is locked. Made for Apple silicon Macs. Source on GitHub.

The short version

  • It works. Click the prompt, start dictation, talk. Nothing runs until you press Return.
  • Best for prose. Commit messages, notes and plain-language requests.
  • Type the commands. Exact symbols are faster and safer by keyboard.
  • Safe by default. YapToText turns off its cursor reading in terminals by itself.

If your terminal app misbehaves with dictation, open an issue on GitHub and name the app. Every one gets read.

Download YapToText on the Mac App StoreThis app is completely free. You don't have to make an account. There are no subscriptions, no difficult downloads, and nothing is locked. Made for Apple silicon Macs. Source on GitHub.

About the author. Ryleigh Newman is a developer whose hands make typing difficult and who dictates every day with YapToText, the app this site describes. Facts about other apps come from their own sites, with the date they were read. More about the project.

Sources

Questions

Can you dictate in Terminal on a Mac?

Yes. Click the prompt, start dictation and talk. YapToText also turns off its cursor reading in Terminal and other terminal apps by itself, because those keystrokes are shortcuts there.

Does dictation work in iTerm2, Warp, Ghostty and kitty?

YapToText lists Terminal, iTerm2, Warp, Ghostty, kitty, Alacritty, WezTerm, Hyper and Termius as terminals and adjusts for each. If one handles paste badly, set it to type character by character.

Will dictation run a command by itself?

No. The text lands at the prompt and waits. Nothing runs until you press Return.

How do I say a slash or an underscore?

In YapToText, say insert slash or insert underscore while the insert setting is on, which is the default. Two-word names such as vertical bar work on their own at the end of a clause.

Is dictation good for shell commands?

Not usually. It is best for commit messages, notes and plain-language requests. Short exact commands with flags and paths are faster and safer to type.