Skip to content
Halopen

Halopen for Ghostty

The best Mac dictation tool for Ghostty

Halopen lands voice-typed text at the Ghostty cursor — commands, AI prompts, commit messages — verbatim, native, sub-second from speech to text.

Free forever for the first 8,000 words a month · macOS 14.0+ · Apple Silicon & Intel

Why this fits

Halopen, paired with Ghostty.

Halopen is a native macOS dictation app that lands voice-typed commands at the prompt in Ghostty — Mitchell Hashimoto's Zig-built terminal — across zsh, bash, fish, Nushell, tmux, screen, and SSH sessions. Hold the function key, speak the multi-flag command or the Claude Code / Aider prompt, release; the verbatim text appears at the Ghostty cursor through the macOS Accessibility API on Apple Silicon and Intel. Two craft-Mac apps running side by side.

Ghostty is the speed-first, native-Mac terminal — Mitchell Hashimoto's Zig-built terminal that idles quiet and renders fast enough that the terminal stops being the bottleneck in any workflow that touches it.

Halopen is the Mac dictation tool engineered for that disposition. Native Swift, idle-quiet, hold-to-talk, verbatim by default. The two tools share a craft sensibility: do one thing exactly right, take the resource floor seriously, leave the rest to the apps that need it. Hold the function key, speak the command or the AI prompt or the commit message, release. The text lands at the Ghostty cursor verbatim.

About Ghostty

What is Ghostty?

Ghostty is a fast, native Mac terminal written in Zig by Mitchell Hashimoto (founder of HashiCorp). Released publicly in late 2024 / early 2025; gained rapid traction with serious developers. A single self-contained native binary with first-party Apple integrations.

The workflow

How to use Halopen with Ghostty.

  1. 1

    Open Ghostty

    Halopen is already running in your menu bar; nothing to install on the Ghostty side. Ghostty respects the macOS Accessibility API, so Halopen's cursor injection works out of the box.

  2. 2

    Place the cursor in the Ghostty prompt

    Standard shell prompt. Or the prompt of an agentic CLI tool — Claude Code, Aider, Codex CLI — running inside Ghostty. Or a `cat << EOF` heredoc you started for a multi-line config.

  3. 3

    Hold the function key

    The recording pill appears. Halopen is listening. The microphone is hot only while the key is down.

  4. 4

    Speak — command, prompt, or prose

    A short shell command, a multi-clause agent prompt, or a paragraph-length commit message. Halopen handles all three.

  5. 5

    Release

    The full transcript lands at the Ghostty cursor verbatim within tens to a few hundred milliseconds. Hit return; Ghostty does what Ghostty does — quickly.

What matters for Ghostty

The Halopen features that earn their place.

  • Native pairing — both tools idle quiet

    Ghostty is famously light on resources. Halopen idles in tens of megabytes. Together they leave the rest of your machine for the work — your editor, your language servers, your local model server, whatever else is running.

  • Verbatim by default — flag names land as spoken

    A misread flag in a `kubectl` or `find` pipeline is a real cost. Halopen captures terminal idioms accurately; the live preview surfaces misreads before any text reaches the cursor.

  • Works with tmux running inside Ghostty

    tmux is transparent to Halopen — text lands wherever the active focus is, which means tmux panes inside Ghostty work the same as native Ghostty splits.

  • Cursor-context biasing for terminal idioms

    Halopen biases the transcription engine with cursor-adjacent text, so common command verbs (`git`, `kubectl`, `docker`, `find`, `grep`) and flag names tend to land correctly.

  • Hold-to-talk — bounded audio capture

    No wake word, no ambient listening. The microphone is hot only while the configured key is held; release stops capture immediately.

  • Free forever for the first 8,000 words a month

    Pro is $19/mo or $179/yr for unlimited.

A real Halopen session

A `claude` agent prompt dictated into Ghostty for a multi-file refactor:

Halopen output

"Look at apps slash web slash app slash api slash orders slash cancel-route dot ts. The cancel handler currently does a database update and then publishes the OrderCancelled event after — which means if the publish step fails, the row reflects cancellation but downstream consumers never hear about it. Refactor it so the row update and the event publish run inside a single Postgres transaction, using the existing pgClient.transaction wrapper from lib slash db dot ts. Add a regression test in the existing route test file that mocks the event-publish to throw and asserts the database row stays in the prior state. Don't change the public API of the handler, and don't introduce a new abstraction for this — just inline the transaction wrap."

  • · ~150-word agentic prompt dictated in a single 50-second hold
  • · Multiple file paths captured as natural-language slash-paths
  • · Three positive constraints + two negative constraints all preserved verbatim
  • · The kind of prompt that gets compressed under typing fatigue and spoken in full under voice

Why Halopen

The dictation tool that earns its place.

Ghostty's craft principle is "do the terminal exactly right, take the resource floor seriously". Halopen's craft principle is "do the dictation exactly right, take the resource floor seriously". The two pair the way Apple's first-party tools tend to pair — quietly, with no dependency surface, with each tool getting out of the other's way.

For developers who chose Ghostty because they wanted a terminal that doesn't fight them, Halopen is the dictation layer that doesn't fight Ghostty. Native Swift; system-wide cursor injection via the standard macOS Accessibility API; no per-terminal configuration; idle near zero CPU.

Halopen for Ghostty — FAQ

Questions worth answering.

How do I voice type in Ghostty on Mac?

Open Ghostty, place the cursor in the prompt, hold the function key, speak the command or prompt, release. The text lands at the Ghostty cursor verbatim. Halopen runs system-wide via the macOS Accessibility API; nothing to install on the Ghostty side, no per-terminal configuration.

Mac dictation app that works in Ghostty?

Halopen. Ghostty respects the standard macOS Accessibility API, and Halopen lands voice-typed text via that API into any Mac surface that does. The dictation experience is identical to iTerm2, Apple Terminal, Warp — system-wide, hotkey-driven, native Swift.

How do I dictate prompts to Claude Code or Aider running in Ghostty?

Same as any other Ghostty dictation. Open the agent in Ghostty, hold the function key, speak the multi-clause prompt as you would explain it to a senior engineer, release. The full prompt lands at the agent's prompt input verbatim, then hit return.

Does Halopen work with tmux running inside Ghostty?

Yes. tmux is a multiplexer; it runs inside Ghostty. Halopen lands text wherever the active focus is, so tmux panes work transparently. Voice across tmux panes is identical to voice across native Ghostty splits.

Will Halopen feel as native as Ghostty itself?

Yes — that's the design. Halopen is native Swift built on the same first-party Apple APIs Ghostty uses. AVAudioEngine for capture, AXUIElement for cursor injection, CGEventTap for the hotkey. Idles at near-zero CPU.

Mac dictation app that handles `kubectl`, `docker`, and `git log` flag-heavy commands?

Halopen. Cursor-context biasing prefers terminal idioms; the live preview surfaces misreads on rare flag names before any text reaches the cursor. Speak the natural-language version of the command ("show me all pods in all namespaces with the api label, then filter to the ones that are not running"), then either type the command directly or pass the spoken version to an agent that translates intent to command.

How much does Halopen cost?

Halopen Free is 8,000 words a month, forever. Pro is $19/mo or $179/yr for unlimited words.

Power-user cheat sheet

Take Halopen with you when you work with Ghostty.

One short email, then the Halopen power-user cheat sheet — hotkeys, best-fit apps, custom vocabulary tips, voice patterns for prompt engineering. No spam. Unsubscribe in one click.

 

Try Halopen with Ghostty

Hold the function key. Speak.

Halopen Free is 8,000 words a month, forever. Open Halopen, hold the function key, and listen for what you sound like.