1. Check which Ghostty release you are dictating into
Ghostty's configuration reference lists no voice, speech, or dictation option, and its keybinding actions include none either. Every way of speaking into Ghostty therefore depends on how Ghostty accepts text from macOS input methods or from simulated keystrokes, and that has changed from release to release. Two people can report different results simply because they run different builds.
Ghostty issue #2473, filed in October 2024, found that macOS Dictation worked but the words appeared in Vim only after Dictation stopped, instead of streaming in as they do in TextEdit. The reporter added that Dictation didn't work at all in some other terminal emulators. Fixes that report the terminal's cell geometry to macOS shipped in Ghostty 1.2.0, and two pull requests in the 1.3.0 milestone moved the Dictation indicator from above the text to below it.
The most recent change is pull request #13817, merged on August 15, 2026, for the 1.4.0 milestone. Before it, text that an input method committed without marked text, which macOS Dictation often does, went through the same path as a paste. Programs with bracketed paste enabled then treated dictation as a paste: the PR says opencode collapsed it into a “[Pasted ~N lines]” chip and Neovim applied paste-mode handling. After the change, dictated text arrives as typed input. Ghostty's release-notes page lists 1.3.1 (March 13, 2026) as the newest stable release as of October 2026, so stable builds still use the older path. Prerelease builds have the change.
- 1.2.0 (September 2025): macOS gets the terminal's cell size for input methods.
- 1.3.0 (March 2026): the Dictation indicator sits below the text.
- 1.4.0 milestone, unreleased as of October 2026: dictation arrives as keystrokes, not a paste.
2. Set up macOS Dictation for a Ghostty prompt
Apple's steps don't change for a terminal. Place the insertion point, then press the Microphone key, use the Dictation keyboard shortcut, or choose Edit > Start Dictation. Stop with Escape, the Microphone key, or the shortcut; Dictation also stops on its own after 30 seconds without speech. Under System Settings → Keyboard → Dictation, the text below the Dictation setting tells you whether general dictation is processed on your Mac, and Customize lets you choose a shortcut such as Option-Z.
Choose that shortcut with Ghostty in mind. Ghostty's keybinding documentation says the fn or Globe key can't be used as a modifier in Ghostty keybinds, and a user report against Ghostty 1.3.1 (issue #11893, closed as not planned) described the Globe key typing a stray “c” into the terminal. If that happens to you, a Dictation shortcut that doesn't use Globe avoids it.
Apple documents the spoken command “new line” as pressing Return once. According to PR #13817, a spoken “new line” survived as a newline character on the older paste path, while the new path drops it to match Terminal.app. At a shell prompt, don't say it on either version.
- Click the Ghostty tab or split that should receive the text.
- Start Dictation and wait for the microphone indicator.
- Speak the prompt, then stop Dictation before you touch Return.
- Read the whole line; in a full-screen program on 1.3.1, expect it to look like a paste.
3. Ghostty's paste keys differ between macOS and Linux
Ghostty's default keybinds are defined in its source. On macOS, Cmd+C and Cmd+V copy and paste. On Linux the same actions use Ctrl+Shift+C and Ctrl+Shift+V; the source comment gives the reason: “ctrl+c is to kill the process.” On macOS, Cmd+Shift+V pastes the selection, matching Terminal.app. To list the defaults for your own build, run ghostty +list-keybinds --default, as the keybinding docs suggest.
This matters for any voice tool that delivers text by simulating a paste. On a Mac, the system's Cmd+V matches Ghostty's default. On Linux, a tool that presses plain Ctrl+V sends a control character to the shell; bash's line editor, readline, binds Ctrl+V to quoted-insert. If you have remapped paste with your own keybind = …=paste_from_clipboard line, a paste-based dictation tool stops landing until it uses the same chord.
4. Paste protection and bracketed paste, applied to speech
Ghostty's clipboard-paste-protection option asks for confirmation before pasting text that appears unsafe. The documentation describes the threat as a copy/paste attack where text with newlines executes commands. A related option, clipboard-paste-bracketed-safe, is on by default and treats pastes as safe while the running program has bracketed paste mode enabled. The docs point out that the program sets that mode, not the terminal.
Applied to voice input: the check targets text with newlines, so a one-line transcript delivered as a paste normally goes in without a prompt. A transcript containing a newline is exactly what the protection exists for when the program hasn't asked for bracketed paste. Inside a program that has, such as a shell whose readline enables it, the text arrives as one block and the program decides what to do with it. Leave both options at their defaults. A confirmation dialog in the middle of a voice prompt is a sign the text contained something you didn't intend.
5. Secure Keyboard Entry at password prompts
With macos-auto-secure-input, Ghostty turns on the macOS Secure Input feature when it detects a password prompt. The config reference says Secure Input “prevents applications from reading keyboard events,” that detection is heuristic, and that “it does not work over SSH connections.” You can switch it on by hand from the Ghostty > Secure Keyboard Entry menu, and macos-secure-input-indication shows an indicator while it is active.
Ghostty's docs give interference with legitimate accessibility software as a reason to turn the automatic behavior off. In practice: if a hold-to-talk key from any app goes quiet at a sudo or SSH password prompt, look for the Secure Input indicator before you troubleshoot the microphone. Type the password on the keyboard; never dictate one. Over SSH, Ghostty can't detect the prompt, so the protection won't switch on by itself.
6. IraVoice in Ghostty: code names on a Mac, plain dictation on Linux
IraVoice 1.2.2 runs on macOS 13+ on Apple silicon, Windows 10 or 11 (64-bit), and Linux (beta) and recognizes speech on the computer with NVIDIA Parakeet. In Ghostty on a Mac, hold Right Command, speak, and release. IraVoice pastes with ⌘V, which is Ghostty's default, then puts your clipboard back. Ghostty is one of the Mac terminals IraVoice recognizes for code names. When the focused session is working inside a Git project, “use effect” is typed as useEffect and “get user by ID” as getUserById. IraVoice keeps only names, never source text, and nothing leaves the computer.
Because ⌘V is a real paste, Ghostty handles IraVoice's text as one: a program with bracketed paste sees a paste. If a terminal app collapses pastes into a placeholder, switch IraVoice to direct typing, one of its selectable paste methods. By default, IraVoice doesn't press Return.
On Linux, where IraVoice is in beta, the default key is Ctrl+Space. IraVoice types the words through a typing helper instead of pasting, so Ghostty's Ctrl+Shift+V convention never comes into play. Code names aren't available on Linux because the beta can't detect the focused app, but dictation works. On Wayland, if the key doesn't reach IraVoice, bind the command iravoice --toggle-transcription to a desktop keyboard shortcut.