How to Dictate in Your Terminal: iTerm2, Warp, and Ghostty
Your terminal is where the prose lives now โ agent prompts, commit messages, PR bodies. Voice setup for iTerm2, Warp, Ghostty, and Windows Terminal.
Terminals were built for commands โ short, precise, unforgiving. Then coding agents moved in, and now the terminal is where you write paragraphs: task briefs for Claude Code, plan feedback, commit messages, PR bodies. The input changed from git rebase -i to "refactor the auth flow, keep the public API stable, and write tests first." That second kind of input is prose, and prose is what dictation is for.
TL;DR: To dictate in your terminal, run a system-wide dictation tool, focus the terminal input, hold your hotkey, and speak โ the text is inserted at your cursor like keystrokes. It works in iTerm2, Ghostty, Apple's Terminal, and Windows Terminal. Two platform quirks matter: on macOS, Secure Keyboard Entry in iTerm2/Terminal silently blocks dictation until you turn it off; and Warp ships its own built-in voice input โ which, per Warp's docs, transcribes in the cloud via Wispr Flow. This guide covers the setup for every major terminal on Mac and Windows, and where each approach fits.
Key Takeaway
A system-wide dictation tool types into any terminal โ iTerm2, Warp, Ghostty, Terminal.app, Windows Terminal โ via one hold-to-talk hotkey. Turn off Secure Keyboard Entry on macOS, keep exact-syntax commands on the keyboard, and dictate the prose: agent prompts, commit messages, PR text.
Tip
The rule that makes terminal dictation work: dictate prose, type commands. Agent briefs, commit messages, and PR bodies by voice; anything with flags, paths, or destructive potential by hand.
Why Terminal Dictation Suddenly Makes Sense
Five years ago, dictating into a terminal was absurd โ nobody wants to speak tar -xzvf. What changed is the ratio of prose to syntax. Agent CLIs (Claude Code, Gemini CLI, Codex) take natural-language instructions. Commit messages and PR descriptions were always prose. Terminal-first developers now spend a meaningful share of the day writing sentences into a terminal window, at a typing speed of roughly 40 words per minute, when natural speech runs 150 or more.
The split that matters:
- Dictate: agent prompts and steering, commit messages (
git commit -m "โฆ"), PR titles and bodies (gh pr create), README and doc text, code review comments, issue descriptions. - Type: commands with flags and paths, anything destructive, pipelines, credentials. A mis-heard word in prose costs an edit; a mis-heard word in a command can cost much more.
Every terminal below accepts dictated text because a terminal input is just a text input: a system-wide dictation tool inserts the transcript at your cursor exactly like typing. The differences are in the quirks โ one macOS security feature, and one terminal that ships its own voice.
Step 1: Set Up a System-Wide Dictation Tool (Works in Every Terminal)
One setup covers iTerm2, Ghostty, Terminal.app, Warp, and Windows Terminal, because a system-wide tool doesn't integrate with the terminal โ it types into it. Using Voibe (ours) as the example:
- Install. Mac: download the .dmg, drag to Applications; on Apple Silicon (macOS 13+) a local Whisper model downloads on first run and everything transcribes on-device. Windows: installer from getvoibe.com โ a native app transcribing via Voibe's private zero-retention cloud. 7-day free trial, no account.
- Grant permissions. macOS: Accessibility (this is what lets it insert text into the terminal) and Microphone, both under System Settings > Privacy & Security. Windows: microphone access on first use.
- Pick a hold-to-talk hotkey. Hold, speak, release โ text appears at your cursor. Voibe defaults to Fn on Mac. Choose a key your multiplexer doesn't bind; our keyboard shortcuts guide covers conflicts.
- Load the Dictionary. Add your CLI vocabulary โ pnpm, chmod, systemd, kubectl, Vitest, project and branch names โ so they transcribe exactly. This is the difference between voice you trust in a terminal and voice you babysit.
That's the whole setup. The per-terminal notes below are about each app's quirks, not extra installation.
iTerm2 and Terminal.app: Turn Off Secure Keyboard Entry
iTerm2 is the macOS terminal where dictation most often "mysteriously" fails, and the cause is a single menu item: Secure Keyboard Entry. It's a macOS security feature that stops other apps from reading what you type โ useful when entering passwords โ but as a side effect it blocks accessibility tools and global hotkeys while enabled. Your dictation app keeps recording; the text just never appears, with no error shown. The iTerm2 FAQ documents the interference.
- Click iTerm2 in the menu bar.
- If Secure Keyboard Entry has a checkmark, select it to toggle it off.
- Dictate again โ insertion resumes immediately.
Apple's built-in Terminal has the same feature in the same place (Terminal > Secure Keyboard Entry). If you want the protection while entering secrets, toggle it on for that moment and off for normal work โ it's a menu click, not a setting buried in preferences. Beyond this one quirk, iTerm2 and Terminal.app need nothing special: hold your hotkey and dictate into the prompt, a REPL, or an agent session.
Warp: Built-In Voice โ and Where Your Audio Goes
Warp is the one major terminal with voice input built in, and for Warp users it's genuinely convenient: press the microphone button in Agent Mode or hold the activation hotkey (Fn on macOS, right-Alt on Windows/Linux), speak, and the transcript lands in Warp's input. It works across Warp's input surfaces, not just the agent prompt, per Warp's voice documentation.
The detail to weigh is in the same doc: "The transcription is powered by Wispr Flow" and "voice data is processed in real-time by Wispr Flow and is not retained as a recording after transcription." In plain terms: Warp's voice input streams your audio to a third-party cloud service for transcription. Warp states recordings aren't retained afterward; still, everything you speak โ project names, architecture, whatever you say near an open mic key โ transits Wispr Flow's servers. Wispr Flow's own data practices have a documented history worth knowing before you route your voice through it; our Is Wispr Flow safe? coverage lays out the incidents. Warp also notes enterprise admins can disable voice entirely, and usage limits apply.
The practical setup for Warp users who want voice without the cloud hop: use a system-wide on-device tool in Warp. Warp's input accepts inserted text like any other terminal, so the hold-to-talk hotkey works there identically โ transcription happens on your Mac, and only text touches the window. You keep Warp; you change where your voice is processed.
Ghostty, cmux, and the Multiplexers: System-Wide Only, and That's Fine
Ghostty โ the open-source, GPU-accelerated terminal โ ships no voice input, and doesn't need to: it accepts inserted text like any macOS or Linux app, so your system-wide hotkey works on day one. The same applies to cmux, the agent-multiplexer terminal built on Ghostty for running several coding agents in parallel workspaces โ arguably the setup where voice pays off most. One held key types into whichever pane is focused: steer the Claude Code session in workspace one, click to workspace two, steer that one. No per-app integration, no per-pane configuration.
Inside tmux or screen it's the same story โ dictation inserts into the active pane like typing, so your multiplexer keybindings are the only thing to double-check when choosing a hotkey. For the full multi-agent voice workflow, see how to dictate in Claude Code.
Windows Terminal and PowerShell: Win+H or a Native App
On Windows the terminal story is simpler โ no Secure Keyboard Entry equivalent to trip over โ and you have two options:
- Windows voice typing (free, built in). Focus the Windows Terminal input and press Win+H; speak, and text appears at the cursor. It works, but there's no custom vocabulary, so kubectl, pnpm, and your project names arrive creatively misspelled. Our Windows dictation guide covers its settings and limits.
- A dedicated dictation app. Voibe for Windows (launched July 2026) is a ground-up native Windows app โ not an Electron port โ with the same hold-to-talk hotkey and custom Dictionary as the Mac version. It transcribes through Voibe's private zero-retention cloud: audio is never stored, sold, or used to train AI. The fully on-device mode is Mac-only (Apple Silicon).
Everything else here applies unchanged: dictate the prose (agent prompts in Claude Code for Windows, commit messages, PR bodies), type the syntax, and read the line before Enter.
Tips for Terminal Dictation That Actually Sticks
- Load your Dictionary before judging accuracy. Ninety percent of "dictation doesn't work in the terminal" is really "the model doesn't know my stack's vocabulary." Add your tools, services, and project names first.
- Dictate into the agent, not the shell parser. The highest-value target is the agent prompt โ it's plain prose and error-tolerant. Start there; expand to commit messages once you trust the output.
- Use quotes as your safety rail.
git commit -m "then dictate, then close the quote. The message is prose inside a typed command โ best of both. - Keep the hotkey hold-to-talk, not toggle. In a terminal you switch between speech and keys constantly; a held key makes the mode obvious and impossible to leave on by accident.
- Watch for multiplexer conflicts. If your dictation hotkey doubles as a tmux prefix or an app shortcut, one of them loses. Pick a dead key (Fn, right-Command) or a chord nothing else claims.
- Read before Enter. Same rule as reviewing agent output: dictated text is input, and input is cheap to fix before submission and expensive after.
Troubleshooting: Terminal Dictation Failures and Fixes
Text doesn't appear in iTerm2 or Terminal.app
Secure Keyboard Entry, almost every time โ toggle it off from the app's menu (iTerm2 > Secure Keyboard Entry). Second suspect: the Accessibility permission in System Settings > Privacy & Security; remove and re-add the dictation app if it's listed but not working.
Dictation works in other apps but not one specific terminal
Check that terminal's security or input settings first (Secure Keyboard Entry in iTerm2/Terminal.app; enterprise policy in Warp, where admins can disable input features). Then test with a clean profile โ some shell prompt frameworks with aggressive redraw behavior can visually swallow inserted text mid-render.
CLI terms transcribe wrong
Add them to your custom Dictionary. A dictation tool with a real dictionary (one that biases transcription, not a find-and-replace table) fixes kubectl permanently; without one you'll be correcting it forever โ the difference is explained in our developer dictation roundup.
Warp voice is disabled or limited
Warp's docs note enterprise admins can turn voice off and that anti-abuse usage limits apply. A system-wide tool is unaffected by either โ it types into Warp from outside.
Frequently Asked Questions About Dictating in the Terminal
Basics
Can you dictate into a terminal?
Yes โ a terminal input accepts dictated text like typed text. A system-wide tool works in iTerm2, Ghostty, Terminal.app, Warp, and Windows Terminal with one hotkey.
Which terminals have voice built in?
Warp is the notable one โ mic button or hotkey, transcribed in the cloud by Wispr Flow per Warp's docs. iTerm2, Ghostty, Terminal.app, and Windows Terminal have no native voice; a system-wide tool covers them all.
Setup
Why does dictation fail only in iTerm2?
Secure Keyboard Entry. It blocks accessibility-based text insertion while enabled โ toggle it off in the iTerm2 menu. Apple's Terminal has the identical feature.
How do I dictate in Windows Terminal?
Win+H for the free built-in voice typing, or a native dictation app like Voibe for Windows for hold-to-talk plus a custom Dictionary that keeps CLI terms straight.
Privacy
Is Warp's voice input private?
Warp's documentation states transcription is powered by Wispr Flow and that voice data is processed in real time and not retained as a recording. Audio still transits a third-party cloud during transcription; an on-device tool keeps audio on your machine entirely. Context on the provider: our Wispr Flow safety coverage.
Workflow
Should I dictate shell commands?
No โ dictate prose (prompts, messages, docs), type syntax (flags, paths, anything destructive), and read every line before Enter.
Give Your Terminal a Voice
The terminal earned a voice the day it started accepting paragraphs. Set up one system-wide tool and every terminal you touch โ iTerm2, Ghostty, Warp, cmux, Windows Terminal โ gets the same hold-to-talk hotkey, with your vocabulary, on both platforms. Turn off Secure Keyboard Entry, load your Dictionary, and dictate your next commit message instead of typing it.
Voibe is the tool we build for exactly this: on-device on Apple Silicon, native on Windows with a zero-retention private cloud, $149 lifetime or $7.50/month. Download it free โ 7-day trial, no account.
Keep going:
- How to dictate in Claude Code โ /voice, and the system-wide setup for agent fleets
- How to dictate in Cursor โ Developer Mode and workspace file resolution
- How to dictate in VS Code โ the editor-side companion
- Best dictation software for developers โ the full comparison
- How to voice-prompt AI tools โ the Five-Part Voice Prompt framework
- Cloud vs local dictation โ where your audio goes, in depth
- Getting started with Voibe โ the full setup guide, permissions to Dictionary
Tip
First exercise: type git commit -m " โ then hold your hotkey and speak the message. Close the quote, read it, Enter. You just found the lowest-risk, highest-frequency use of voice in a terminal.
Ready to type 5x faster?
Voibe is the fastest, most private dictation app for Mac and Windows. Try it today.
- On-device or private cloud
- Free to try
- No subscription
- Mac + Windows
- 90+ languages
Prefer to go Pro? Save 20% on any plan with code VOIBE20 View pricing โ
Related Articles
How to Dictate in Claude Code (and What /voice Doesn't Cover)
Claude Code has voice now: type /voice, hold spacebar, talk. The full setup on Mac and Windows โ plus the system-wide option that covers what /voice can't.
How to Dictate in Cursor: Voice-Prompt the AI Editor (2026)
Dictate in Cursor by voice: set up system-wide on-device dictation, use Developer Mode to resolve file and folder names, and voice-prompt Cmd+K, Composer, and Agent โ plus how it compares to Cursor's native voice mode.
How to Dictate in VS Code: Voice Coding & Copilot (2026)
Dictate in VS Code by voice: use the on-device VS Code Speech extension, or a system-wide tool that types into every app plus resolves your workspace file and folder names. Setup, Copilot voice-prompting, and tips.

