Ghostty voice typing

Ghostty takes dictation. How the words arrive depends on the release.

Ghostty has no voice feature of its own, so speech reaches it from outside: macOS Dictation on a Mac, or a dictation app on either macOS or Linux. Most of the confusion about Ghostty dictation comes from three details: an input-method change that is still unreleased as of October 2026, paste shortcuts that differ between macOS and Linux, and Secure Keyboard Entry at password prompts. This guide covers each one.

Source-reviewed

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.

Decision guide

Which voice path fits your Ghostty setup?

Choose by platform, by how the text needs to arrive, and by whether you need project names spelled correctly.

If you needChooseWhy
Occasional prose into Ghostty on a MacmacOS DictationIt's built in and works in Ghostty. Stop it before you press Return.
A terminal app turns dictation into a “[Pasted…]” chipA 1.4.0-milestone build, or a tool that typesPR #13817 sends input-method text as keystrokes; stable 1.3.1 still uses the paste path.
Voice typing in Ghostty on LinuxA dictation app that types through a helperGhostty pastes with Ctrl+Shift+V there, so a tool that presses Ctrl+V misfires.
File and function names spelled as the code spells themIraVoice on a MacGhostty is a recognized terminal for code names; Linux has no code names in the beta.
A sudo or SSH passwordType itSpeech and clipboards are the wrong place for secrets, and Secure Input exists for this moment.

Primary sources

Use the current documentation.

This guide was reviewed October 2, 2026. Product versions, settings, policies, and availability can change.

  1. Ghostty: Configuration reference ↗

    clipboard-paste-protection, clipboard-paste-bracketed-safe, macos-auto-secure-input (including its SSH limit), and macos-secure-input-indication.

  2. Ghostty: Custom keybindings ↗

    Keybind syntax, ghostty +list-keybinds --default, fn/Globe unsupported as a modifier, and the macOS-only global: prefix.

  3. Ghostty: Release notes ↗

    Release history; 1.3.1 (March 13, 2026) is the newest stable version listed as of October 2026.

  4. Ghostty PR #13817: send all insertText commits as key events ↗

    Merged August 15, 2026 for 1.4.0: dictation previously took the paste path; opencode and Neovim examples; “new line” behavior.

  5. Apple: Dictate messages and documents on Mac ↗

    Starting and stopping Dictation, the 30-second timeout, the “new line” command, custom shortcuts, and the on-device processing note.

Questions

What readers usually ask next.

Does macOS Dictation work in Ghostty?

Yes. It has worked since at least 2024, and Ghostty 1.2.0 and 1.3.0 included fixes for how Dictation is positioned. In stable 1.3.1, programs with bracketed paste may receive dictated text as a paste. A change merged for 1.4.0 delivers it as typed input.

Why does my dictated text show up as a paste in Ghostty?

Before PR #13817, Ghostty sent input-method text committed in one piece through its paste path, and macOS Dictation often commits that way. Programs that enable bracketed paste, such as opencode or Neovim, then handled it as a paste. The fix is in the 1.4.0 milestone, which is unreleased as of October 2026.

What is Ghostty's paste shortcut on Linux?

Ctrl+Shift+V, with Ctrl+Shift+C to copy, so that Ctrl+C can still interrupt a process. On macOS the defaults are Cmd+V and Cmd+C. Run ghostty +list-keybinds --default to see your build's bindings.

Can a Ghostty keybind start dictation?

No. Ghostty's keybind actions control the terminal and include nothing for dictation. The global: prefix only exists on macOS, and fn or Globe can't be used as a modifier. Use the Dictation shortcut from macOS or your dictation app's own key.

Why did my dictation key stop working at a password prompt?

Ghostty can switch on macOS Secure Input when it detects a password prompt, and Secure Input stops other apps from reading keyboard events. Finish typing the password and it switches off; the Ghostty > Secure Keyboard Entry menu shows its state.

Does IraVoice spell code names in Ghostty on Linux?

No. Code names work in Ghostty on a Mac. The Linux beta can't detect the focused app, so in Ghostty on Linux IraVoice dictates plain text, which it types through a helper such as wtype, kwtype, dotool, ydotool, or xdotool.

Mac, Windows, and Linux

Try private, on-device dictation for yourself.

Hold one key, speak, and the words are typed where your cursor is. The 3-day free trial starts with your first dictation.