Skip to content
Halopen

Halopen FAQ

64 answers about Mac voice typing.

The questions Halopen customers actually ask, answered the way they’re actually answered. Pricing, privacy, AI-coding workflows, multilingual code-switching, accessibility, the audit log. If something isn’t here, write to [email protected] — every email lands in a real inbox.

What is Halopen

What is Halopen

Halopen in one paragraph, who it's built for, what verbatim means in practice.

What is Halopen?

Halopen is a native macOS dictation app. You hold the function key, talk in any app that takes text — Mail, Messages, Slack, Notion, Cursor, Claude Code, the terminal, every browser — and the words appear at your cursor. Verbatim by default: contractions, intensifiers, technical jargon, and code-switches between languages are captured as spoken, not cleaned up into a corporate register. Built in Swift; runs in the menu bar, not a browser tab. Free for the first 8,000 words a month, forever; Pro is $19/month, $179/year, or $499 one-time Lifetime.

Who is Halopen built for?

Anyone whose Mac working day is mostly text. Engineers writing prompts to Cursor, Claude Code, Aider, or GitHub Copilot. Founders writing customer email, investor updates, and marketing copy. Lawyers writing briefs and memos. Doctors writing SOAP notes. Consultants writing recommendation memos. Writers and journalists drafting. Translators code-switching between English, Spanish, French, Mandarin, or Hindi. People with RSI or carpal tunnel who need their hands off the keyboard. Speech runs around 150 words per minute; sustained typing tops out at 60–80. Halopen is the layer that closes that gap, in any Mac app.

Is Halopen for me if I don't write code?

Yes. Halopen is a system-wide Mac dictation app — it lands voice-typed text in any text input, whether that's a Cursor prompt or an Apple Mail compose window or a Slack DM. Most Halopen users dictate prose, not code: emails, longer documents, client letters, meeting notes, customer replies, social posts, and the rough drafts that become finished writing later. The reason Halopen tends to show up first in AI-coding contexts is that engineers were the loudest early adopters; the product itself is general-purpose dictation that respects what you said.

What does "verbatim by default" mean in Halopen?

It means Halopen writes down what you said, not a polished rewrite of what you said. If you say "yeah I think we should probably ship it tomorrow," Halopen types "yeah I think we should probably ship it tomorrow" — not "Yes, I believe we should ship it tomorrow." Contractions stay contractions. Intensifiers stay in. Code-switches between languages are preserved. The leading dictation app polishes you into a corporate register by default; Halopen does not. Polish and Editorial modes ship as explicit opt-in toggles for the moments you want a cleaner draft — never an unannounced rewrite.

What's the one-line pitch for Halopen?

Native macOS dictation. Hold to talk, anywhere a cursor goes. Verbatim accuracy by default; polish on your terms. The product is built in Swift, lives in the menu bar, and runs on macOS 14.0 Sonoma and later as a Universal binary on Apple Silicon and Intel. Free at 8,000 words a month forever; Pro is $19/month, $179/year, or $499 one-time Lifetime. Apple Developer ID signed and Apple-notarized.

Privacy

Privacy & the audit log

What leaves your Mac, what doesn't, the two transcription modes, and how to verify the privacy claim from your own machine.

Is Halopen actually private?

Halopen ships two transcription modes and discloses exactly what happens in each. In Cloud mode, your audio is sent while you hold the key to OpenAI's `gpt-4o-transcribe`, returned as text, and discarded; OpenAI may retain the audio up to 30 days for abuse monitoring per their standard API policy, and does not train on it. In On-your-Mac mode, the audio never leaves your machine — Whisper Large v3 runs on Apple's Neural Engine through WhisperKit, locally. The audit log inside Halopen records every cloud call the app makes; in On-your-Mac mode there are no transcription entries to record, because no transcription request was made.

Where does my voice go when I dictate with Halopen?

Depends on the mode. In Cloud mode (the default), the audio is sent to OpenAI's `gpt-4o-transcribe` over HTTPS while you hold the key, transcribed in their data center, and returned as text. OpenAI may retain it up to 30 days for abuse monitoring, then deletes it; the audio is never used to train models. In On-your-Mac mode, the audio is mel-spectrogrammed and decoded by Whisper Large v3 running locally on Apple's Neural Engine — no network packet leaves your Mac for the purpose of transcription. Both modes are first-class; switch in Settings → Transcription. Both modes count against the same 8,000-words-per-month free cap.

What's the difference between Halopen's Cloud mode and On-your-Mac mode?

Cloud mode runs OpenAI's `gpt-4o-transcribe` on their servers — slightly higher accuracy in everyday English, markedly better at multilingual code-switching, supports vocabulary biasing against your personal dictionary. The audio leaves your Mac while you hold the key. On-your-Mac mode runs Whisper Large v3 via WhisperKit on Apple's Neural Engine, locally — no audio leaves the device, works offline, works on a plane, works in a SCIF. Requires Apple Silicon (M1 or later); needs a one-time 626 MB model download. Vocabulary biasing is temporarily unavailable in On-your-Mac mode pending a WhisperKit library fix. Both modes count against the same free-tier word cap.

How do I verify that Halopen doesn't send my audio to the cloud?

Halopen ships an audit log. Switch the mode to On-your-Mac in Settings → Transcription. Dictate a sentence. Open Settings → Privacy → Open audit log. There should be no Transcription entry from the dictation you just spoke. License checks and update polls may still appear; those are unrelated to transcription. You can also pull the Ethernet cable, turn off Wi-Fi, or run Little Snitch — On-your-Mac dictation works regardless. The privacy claim is built to be falsifiable from your own machine, not something you have to take on faith.

What does the Halopen audit log record?

Every cloud call the app makes, metadata only — endpoint host + path, status code, duration, audio seconds (for transcription calls), timestamp. No audio. No transcripts. The log lives in `UserDefaults` under `halopen.auditLog.entries` on your Mac, never leaves the device, and is capped at 500 entries on a ring buffer so it can't grow without bound. Open it from Settings → Privacy → Open audit log. The log exists so you can independently verify Halopen's privacy claims instead of having to trust the marketing copy.

Does Halopen store my audio recordings?

No. Halopen does not retain audio on its own servers, ever. In Cloud mode the audio is streamed to OpenAI's `gpt-4o-transcribe` and discarded by Halopen after the response returns; OpenAI may retain the audio up to 30 days for abuse monitoring per their standard API policy, and does not train on it. In On-your-Mac mode the audio is processed locally on Apple's Neural Engine and never reaches a server in the first place. Transcripts are also not stored on Halopen's servers — they land at your cursor and live wherever you put them.

Can I use Halopen for HIPAA-relevant work?

On-your-Mac mode is the answer for HIPAA-relevant dictation today. The audio never leaves your Mac, so no Business Associate Agreement is needed for the transcription step — there's no business associate to agree with. Cloud mode involves OpenAI as a subprocessor and is not appropriate for protected health information without a BAA. Halopen for Business will consider BAA arrangements on a case-by-case basis for office-tier customers; reach out to [email protected] to scope your specific need. For solo clinicians dictating SOAP notes, On-your-Mac mode plus a short local-storage workflow (Apple Notes, Bear, Obsidian) is the cleanest path.

Is Halopen safe for NDA-covered or confidential dictation?

Use On-your-Mac mode. The audio is processed by Whisper Large v3 on Apple's Neural Engine — locally, on the Mac you're holding. No network packet leaves the device for the transcription step. The audit log will not record a Transcription entry, which is the verification path: dictate, open the log, confirm no entry appeared. For attorney-client material, doctor-patient notes, source-protected journalism, M&A correspondence, pre-disclosure security research, and anything else where "we promise we deleted it" is not the right contract — On-your-Mac mode is the mechanical answer.

Setup

Setup, install, hotkey

Installing Halopen, granting permissions, picking a hotkey, where it works.

How do I install Halopen on my Mac?

Download the DMG from halopen.com/download — it's 7.8 MB, signed with an Apple Developer ID and notarized by Apple. Open the DMG and drag Halopen.app into Applications. The first launch installs a Login Item so Halopen reappears in the menu bar after a reboot. Halopen requires macOS 14.0 Sonoma or later and ships as a Universal binary that runs natively on Apple Silicon (M1, M2, M3, M4) and Intel Macs.

What macOS version does Halopen require?

macOS 14.0 Sonoma or later. The minimum is set there because Halopen relies on AVAudioEngine improvements and AXUIElement APIs that matured in Sonoma. macOS 14, 15, and 16 are all supported. Older macOS versions (Ventura, Monterey, Big Sur) are not supported. On-your-Mac transcription additionally requires Apple Silicon (M1 or later) because Whisper Large v3 runs on the Neural Engine; Intel Macs use Cloud mode.

What hotkey does Halopen use to dictate?

The default is the function key (fn) — lower-left thumb reach on Apple keyboards, doesn't conflict with anything important. Right Option is a popular alternative if your left hand is already busy. Control + Option is the universal fallback that works on any keyboard, including third-party mechanical ones that lack a fn key. You can also bind a custom modifier-and-key combination from Settings → Hotkey. Halopen warns on conflicts with macOS system shortcuts so you don't accidentally remap Spotlight.

Can I change Halopen's hotkey?

Yes. Settings → Hotkey lets you pick fn (default), Right Option, Control + Option, or a custom modifier-and-key combination of your choice. The hotkey is hold-to-talk: press to start recording, release to send. There's no tap-to-toggle mode today; hands-free toggle is on the roadmap. If a hotkey you pick conflicts with a system shortcut, Halopen surfaces a warning before saving so you don't lock yourself out of Spotlight or Mission Control.

Does Halopen work in every Mac app?

Almost. Halopen is system-wide — if a Mac app accepts text input, Halopen lands text in it. That covers Mail, Messages, Slack, Notion, Obsidian, Bear, Apple Notes, Cursor, VS Code, Xcode, JetBrains IDEs, Zed, Sublime, every browser (Safari, Chrome, Arc, Brave), and every terminal (iTerm2, Apple Terminal, Warp, Ghostty, Alacritty, kitty). The exceptions are secure password fields (banks, password managers, macOS login screens), sandboxed system dialogs that block external text input, and a small number of apps with non-standard custom text widgets — most notably some games and a few cross-platform ports. For apps that block input at the OS level, no third-party dictation tool can deliver text; that's a macOS guard, not a Halopen limitation.

What macOS permissions does Halopen need?

Three. Microphone access (to hear you). Accessibility access (to simulate the keystrokes that land your transcript at the cursor — the same permission used by clipboard managers, text expanders, and window managers). Input Monitoring (to detect the hotkey hold without owning the key globally). Halopen prompts for each one during onboarding and explains what stops working until you grant it. No Screen Recording permission is requested or used. Halopen has no code path that takes screenshots; cursor-context biasing reads text through the Accessibility API, never an image of the screen.

Does Halopen update itself?

Yes. Halopen ships a Sparkle 2.x auto-updater that checks the EdDSA-signed appcast at halopen.com/appcast.xml on launch and weekly thereafter. Updates download in the background and apply on the next quit/relaunch unless you turn auto-updates off in Settings → Updates. Updates are free across every plan, including the free tier and Pro Lifetime — when a new version of `gpt-4o-transcribe` ships, when Whisper Large v3 gets faster, or when a new feature lands, your installation picks it up automatically.

AI coding

AI coding workflows

How Halopen pairs with Cursor, Claude Code, Aider, Windsurf, Zed, Continue, Cline, GitHub Copilot, and every other AI coding tool on Mac.

Can I dictate into Cursor with Halopen?

Yes. Cursor is a standard Mac app with normal text-input fields; Halopen lands voice-typed text at the cursor in any of them — the chat sidebar, the file editor, the terminal pane, the command palette. Hold the function key, describe the change you want in natural language, release; Cursor's model picks up the prompt the same way it would a typed one. The trick that makes it work well: dictate prompts, not code. Speech runs around 150 words per minute, so the prompts that reach Cursor end up longer and more specific than typed versions, which Cursor's model handles more reliably.

Does Halopen work with Claude Code?

Yes — both Claude Code in the terminal and Claude.ai in the browser. Halopen lands voice-typed text at the cursor in any Mac text input, including terminals. Hold the function key, speak the prompt, release; Claude Code receives the text exactly as you said it. Halopen is upstream of the model: it lands the text; whichever agent reads the input handles the rest. No Claude Code plugin to install — they're independent layers. Most engineers using Halopen with Claude Code dictate prompts (the high-leverage step), not code.

Does Halopen work with Aider, Windsurf, Zed, Continue, or Cline?

Yes, all of them. Aider runs in a terminal; Halopen lands text in terminals via standard CGEvent keystrokes. Windsurf and Zed are standard Mac apps with normal text inputs. Continue and Cline run as VS Code or JetBrains extensions whose chat panels are standard text inputs. Halopen is system-wide: it lands voice-typed text at the cursor in any Mac app, so whichever agent reads that cursor's input handles the prompt. There is no per-agent integration to install. The same fn-key hold works identically across all of them.

Can Halopen dictate camelCase, snake_case, and file paths correctly?

Yes. The transcription engine has code idioms and common language keywords in its vocabulary; identifiers like `useState`, `useCallback`, `kubectl`, `async/await`, `httpClient`, and `get_user_by_id` usually land on the first pass. For ambiguous cases, articulating the case explicitly helps — "camelCase getUserById" or "snake-case get underscore user underscore by underscore id." Cursor-adjacent context biasing pre-feeds the surrounding code to the transcription engine so project-specific identifiers (your custom hooks, your services, your domain types) get caught. The live partial transcript shows wrong words before any text reaches your cursor; if a misread appears, restate and the correction replaces it.

Does Halopen work in the terminal — iTerm2, Ghostty, Warp?

Yes. Halopen delivers text into terminals via CGEvent keystrokes, which every macOS terminal accepts as standard input. iTerm2, Apple Terminal, Warp, Ghostty, Alacritty, and kitty all work the same way. Hold the function key, speak, release; the text lands at the prompt. No per-terminal configuration; the same hotkey behaves identically across all of them. Useful for Claude Code, Aider, and any other terminal-based AI coding tool. One caveat: if Secure Keyboard Entry is turned on in Terminal or iTerm2 (under their app menus), macOS blocks all third-party text input; turn it off and dictation lands normally. Halopen surfaces a clear message the first time it detects this.

Does Halopen know technical terms like useState, kubectl, or async/await?

Yes. Common code idioms, language keywords, library names, and CLI tools are part of the transcription engine's vocabulary — `useState`, `useCallback`, `kubectl`, `async/await`, `httpClient`, `JWT`, `gRPC`, `Postgres`, `Kubernetes`, `Terraform`, `Docker`, `Tailwind`, `Astro`, `Next.js`, `pnpm`, `vite`. For project-specific identifiers, cursor-adjacent context biasing helps Cloud mode catch them; the live preview is the second-pass safety net for the rare misread. Personal dictionary entries (Settings → Vocabulary) further bias the engine toward your custom terms. The result is that most technical vocabulary lands on the first pass without needing a per-word workaround.

How do I dictate brackets, parentheses, and code symbols with Halopen?

The fastest pattern is to dictate prompts, not code, and let your AI coding tool produce the brackets — that's where voice is 2–3× faster than typing end-to-end. When you do need to dictate raw code symbols, speak them: "open paren", "close paren", "open bracket", "close bracket", "open brace", "close brace", "less than", "greater than", "comma", "semicolon", "equals", "double equals", "triple equals", "arrow function". A code-symbol cheatsheet lives at halopen.com/cheatsheet/. The transcription engine handles common symbol idioms well; for unusual punctuation, the live preview catches misreads before text lands at the cursor.

Is voice typing actually faster than typing for AI coding prompts?

For the prompt-input step, yes — dramatically. Speech runs around 150 words per minute; most engineers type at 60–80. For multi-clause architectural prompts ("use the existing apiClient utility, not raw fetch, and add the retry-with-backoff pattern from utils/retry.ts"), voice is 2–3× faster end-to-end. The bigger compounding effect is that voice removes the keystroke-induced compression: prompts get longer, more specific, and more naturally phrased, which most AI coding tools interpret more reliably than terse typed prompts. Halopen Free is 8,000 words a month — enough to measure the gain on a real working week before upgrading.

Accuracy

Accuracy & verbatim posture

How accurate Halopen is, what model it runs, and why "verbatim by default" is a product decision, not an oversight.

How accurate is Halopen at transcription?

Among the most accurate dictation engines available on Mac. Cloud mode runs OpenAI's `gpt-4o-transcribe` — the leading publicly-available speech-to-text engine in 2026 on standard English benchmarks. On-your-Mac mode runs Whisper Large v3 — the open-source state of the art for offline transcription. Proper nouns, technical terms, place names, and bilingual code-switching usually land on the first pass. Vocabulary biasing in Cloud mode pre-feeds your personal dictionary and cursor-adjacent context to the engine so project-specific identifiers get caught before transcription. The live partial transcript is the second-pass safety net for the rare misread — you see wrong words before any text reaches your cursor.

What model does Halopen use for transcription?

Two, depending on mode. **Cloud mode** uses OpenAI's `gpt-4o-transcribe` — the same model that powers OpenAI's own audio products, accessed over their API. **On-your-Mac mode** uses Whisper Large v3, OpenAI's open-source MIT-licensed model, running via WhisperKit (Argmax's open-source Swift library) on Apple's Neural Engine through CoreML. The model file is 626 MB, downloaded once on first use of On-your-Mac mode, and cached at `~/Library/Application Support/Halopen/Models/`. Halopen names the model because the model isn't the moat — what's built on top of it is. Hiding it wouldn't protect Halopen; naming it tells you Halopen picked the best.

Does Halopen polish my dictation automatically?

No. Halopen ships verbatim by default — what was said is what lands at your cursor. Contractions stay contractions ("you're" stays "you're", not "you are"). Filler words stay in unless you ask them removed. Intensifiers and asides survive. Code-switches between languages are preserved as spoken. Polish, when you want it, will be an explicit opt-in toggle — never an unannounced rewrite. The wedge is that the speaker is the author and Halopen is the typist; the leading dictation app polishes by default into a corporate register, which is a different product made for a different user.

Why does Halopen include "um" and "you know" instead of removing them?

Because Halopen is verbatim by default — the brand thesis is that what you said is what shows up. Filler words carry meaning: "um, I'm not sure" reads different from "I'm not sure." Pauses and hesitations carry meaning in customer-support replies, in voice notes, in transcribed conversations. Halopen leaves them in for you to decide on, not for the app to decide on. If you want filler removed, the Polish pass (opt-in toggle, Pro) does that explicitly while keeping your voice intact. Editorial mode goes one step further for publication-quality drafts. Both ship; both run only when you opt in, per-app or globally.

Does Halopen work if I have an accent or English isn't my first language?

Yes. The Cloud transcription engine — OpenAI's `gpt-4o-transcribe` — was trained on a globally diverse audio corpus and handles non-native English, regional accents (Indian English, Filipino English, Caribbean English, Nigerian English, Scottish, Irish, Australian, South African), and code-switching between English and a second language with the same accuracy floor as native speakers. On-your-Mac mode uses Whisper Large v3, which is also strong on accented English. If a specific term in your name, your dialect, or your work consistently misreads, add it to your personal dictionary in Settings → Vocabulary — Cloud mode will bias toward it on the next dictation.

Multilingual

Multilingual & code-switching

Languages Halopen supports, how mid-sentence code-switching works, and why there's no language toggle.

Does Halopen support Spanish, French, German, Japanese, Chinese, or other languages?

Yes. Halopen's Cloud transcription engine — OpenAI's `gpt-4o-transcribe` — handles English plus mid-sentence code-switching across Spanish, French, Italian, Portuguese, Mandarin, Cantonese, Japanese, Korean, Tagalog, Hindi, German, Dutch, and Arabic. There is no language toggle to flip — Halopen detects the language per utterance. On-your-Mac mode (Whisper Large v3) supports a similar list, with slightly lower accuracy on less-common languages and on mid-sentence code-switching. For languages outside the tested set, Cloud mode usually still works, though Halopen doesn't make accuracy claims it hasn't verified.

Can Halopen handle code-switching between languages mid-sentence?

Yes, this is one of Halopen's wedges. Spanish-English ("we're not adding *queso fresco*"), Hindi-English, Tagalog-English, French-English, Mandarin-English — the transcription engine adapts per utterance and reads surrounding context to disambiguate. There is no language toggle to flip, no per-language profile to load, no re-training step. Cloud mode handles code-switching more cleanly than On-your-Mac mode today — particularly for Hindi-English, where the gap is measurable. Bilingual and multilingual users dictate the way they speak; the transcript matches.

Do I have to tell Halopen which language I'm speaking?

No. Halopen detects the language automatically, per utterance, with no preset to configure. You can speak English in one dictation and Spanish in the next without flipping a switch. Within a single dictation, the engine can detect mid-sentence switches between languages and transcribe each segment in the right script — Spanish proper nouns inside an English sentence, English brand names inside a Mandarin sentence, code-mixed Tagalog-English the way it's actually spoken. The mechanism is the underlying transcription model's language detection layer; Halopen doesn't intervene.

Pricing

Pricing & plans

Free tier, Pro Monthly, Pro Annual, Pro Lifetime, refunds, student discounts.

How much does Halopen cost?

Halopen Free is 8,000 words of dictation a month, every month, forever — no credit card to download, no expiry timer. Halopen Pro is $19/month, $179/year (saves $49 versus paying monthly), or $499 one-time Lifetime. All Pro tiers unlock unlimited words and unlimited holds up to ten minutes per take, the live preview, code-symbol biasing, the audit log of every cloud call, and free updates throughout your subscription. Plans are billed by Stripe; you'll see the charge on your statement as Meria LLC. 14-day refund, no questions, by emailing [email protected].

Does Halopen have a free tier?

Yes — 8,000 words of dictation per calendar month, forever, no credit card required. Not a time-based trial that expires after 7 or 14 days. The counter resets on the first of each month. Both Cloud and On-your-Mac modes count against the same cap; there's no bypass through mode-switching. 8,000 words is roughly 2–3 hours of voice typing — enough to integrate Halopen into a real working day before the paywall asks for the upgrade. The day you hit the ceiling is the day you'll know whether Pro earns its keep.

What's included in Halopen Pro Lifetime?

Pro Lifetime is $499 one-time. You get every Pro feature for life — unlimited words, unlimited 10-minute holds, the live preview, code-symbol biasing, the audit log, vocabulary biasing — plus every future major version of Halopen for free. No recurring charge, ever. No "Pro Plus" tier later. About 3.5 years of Pro Annual covers the cost; for people who plan to use voice typing daily for years, Lifetime is the lowest total cost of ownership and the cleanest mental model. For people evaluating, Pro Monthly at $19 is the lowest-commitment way to start.

Why is Halopen's Lifetime tier $499?

Three reasons. First, $499 sits at roughly 3.5× the $179 Pro Annual price — the empirically-supported floor for sustainable lifetime pricing on a SaaS product, per Freemius's industry data. Pricing too far below that locks Halopen into future support liability against unknown costs. Second, lifetime users churn measurably slower than subscription users and cost 30–40% more in long-tail support; the price reflects the lifetime cost of serving you well, not a one-time license to bytes. Third, $499 is a deliberate quality signal — it puts Halopen above the direct Mac-dictation comp ceiling without bluffing into uncomparable enterprise territory. The cheaper Lifetime tier ($249 founding-cohort) was retired in May 2026 after the first round of data showed it was below the floor.

Does Halopen offer a student discount?

Yes, manually for now. Email [email protected] from your .edu address and Halopen will send a 50%-off code valid on Pro Monthly or Pro Annual. Automated email-domain verification (SheerID-class) arrives once scale justifies the operating cost; until then, the manual path is open and active. Same path works for non-profits: write from your institutional address and Halopen will set up a discounted code. The 8,000-word free tier is also generous enough that most students and many non-profit users can stay on it indefinitely.

Does Halopen offer refunds?

Yes. 14 days from purchase, no questions, by emailing [email protected]. Refunds reverse the Stripe charge and revert your account to free. Halopen tracks refund rate as a leading indicator of product fit — Jesse would rather refund cleanly than have an unhappy paying customer. The 14-day window applies to Pro Monthly, Pro Annual, and Pro Lifetime equally.

Should I get Halopen Pro Annual or Pro Lifetime?

Two clean decision rules. Pick **Pro Annual** ($179/yr, saves $49 vs monthly) if you're evaluating whether voice typing fits your workflow and don't want to commit big. Pick **Pro Lifetime** ($499 one-time) if you've already integrated voice typing into your daily work and the math is obvious — Lifetime breaks even versus Annual at about year 3.5, then runs free forever. Most Halopen Lifetime buyers were on Annual or Monthly first and upgraded once they realized they were using it every day. The free tier (8,000 words/month) is the right starting point either way — measure the gain on a real working week before paying.

Comparison

Comparison & alternatives

How Halopen compares to the leading dictation app, the macOS built-in, browser-based alternatives, and open-source Whisper wrappers.

How is Halopen different from the leading dictation app on Mac?

Five differences. **Native Swift, not Electron** — tens of megabytes idle, near-zero CPU, lives in the menu bar without a Dock icon. **Verbatim by default** — Halopen captures contractions, intensifiers, and code-switches as spoken; the category leader polishes by default into a corporate register. **On-your-Mac mode** — Halopen's Whisper Large v3 path runs locally on Apple's Neural Engine, with no network packet leaving the Mac for transcription; the category leader is cloud-only. **A public audit log** — every cloud call is recorded locally for you to verify; the category leader's privacy claim is faith-based. **A Lifetime tier** — $499 one-time, every future version included; the category leader is subscription-only. Full side-by-side at halopen.com/compare/halopen-vs-the-leading-dictation-app/.

Why use Halopen instead of macOS Dictation?

Built-in macOS Dictation is fine for short voice memos in Apple's own apps, and it's free. Halopen is the right tool when you want **system-wide cursor injection** (not just Apple-specific surfaces), **state-of-the-art accuracy** (`gpt-4o-transcribe` in Cloud, Whisper Large v3 on-device — both well above the built-in engine on technical vocabulary and accented English), **vocabulary biasing** (your personal dictionary, cursor-adjacent context, brand names land first-pass), **a live partial preview** while you speak, **hold-to-talk via the function key** instead of dedicated keyboard chords, and **no time-limit ceiling** on a single hold. For occasional Notes dictation, macOS built-in is enough. For the working day on Mac, it isn't.

Why not just use a Whisper CLI wrapper instead of Halopen?

Open-source Whisper wrappers are fine for transcribing a finished audio file. Halopen is solving a different problem: pressing a key, speaking a sentence, and having the text appear at your cursor in the app you're already in — without copy-pasting from a terminal, without a per-app integration, without leaving the flow. The integration work is most of the product: hold-to-talk via a CGEventTap, sub-second live partial preview, cursor-adjacent vocabulary biasing, per-app injection profiles (Cursor, VS Code, Slack, Notion, Mail, iMessage, terminals), the audit log, the Sparkle auto-updater, code-signing and notarization. A CLI wrapper gives you the model; Halopen gives you a finished app that uses the model where you actually work.

Is Halopen better than a browser-based dictation tool?

Depends on where you work. Browser-based dictation tools — typed-into-a-textarea voice typing via a website — work fine for dictating into a browser tab. They don't work outside the browser, which rules out terminals, Cursor, Claude Code, Apple Mail, Slack, iMessage, Notion's desktop app, every IDE, and every other Mac app where text lives. Halopen is system-wide: the same fn-key hold lands text in any Mac text input. If your day is 100% inside a single browser tab, a browser-based alternative might cover it. For the rest of the macOS surface — which is most engineers' working day — a native Mac dictation app is the right tool.

What's the best Mac dictation app in 2026?

Halopen, by the criteria that matter most for serious daily use: system-wide cursor injection in any Mac app, state-of-the-art transcription (`gpt-4o-transcribe` in Cloud or Whisper Large v3 on-device), verbatim by default so your voice survives, an opt-in privacy mode where audio never leaves the Mac, a public audit log to verify the privacy claim, native Swift footprint (tens of megabytes idle, near-zero CPU), a Lifetime tier instead of subscription-only, and a meaningful free tier (8,000 words a month, forever, no card). Long-form comparison and side-by-side facts at halopen.com/best-mac-dictation-app/.

Accessibility

Accessibility & RSI

Halopen for users with RSI, carpal tunnel, motor differences, and VoiceOver users.

Is Halopen a good fit if I have RSI or carpal tunnel?

Yes. The single-key hold (fn by default, configurable to Right Option or any modifier-and-key combination) replaces the dominant repetitive movement in a knowledge worker's day — typing thousands of words. Most Halopen users with RSI map the hotkey to a foot pedal or a single-key macro device to remove even the function-key press from their hands. Speech runs ~150 wpm vs ~60–80 for sustained typing, so the time-at-keyboard drops as well. For deeper persona walkthrough — recovery patterns, ergonomic setups, foot-pedal mapping — see halopen.com/for/developers-with-rsi/.

Is Halopen accessible to VoiceOver users?

Yes. Halopen's Settings, onboarding, paywall, and About windows use standard SwiftUI controls with proper accessibility labels. VoiceOver reads the entire interface. Dynamic Type is honored throughout. The recording-pill indicator has an accessibility description that VoiceOver reads when the pill becomes visible. Halopen never overrides macOS accessibility surfaces — reduce-transparency, increase-contrast, and system-tint are respected. If you encounter an accessibility regression, write to [email protected]; accessibility bugs are treated as ship-blockers, not nice-to-haves.

Is Halopen built for accessibility?

Yes, from the first commit. Halopen's brand thesis — "the speaker is the author; the app is the typist" — is itself an accessibility stance: the user's voice, exactly as spoken, is what's preserved. Concretely: VoiceOver-readable SwiftUI throughout, Dynamic Type honored, reduce-motion respected (every animation collapses to 0.01ms when the user has reduce-motion set), high-contrast palette (warm graphite on cream paper, never pure black on white), and a focus-ring system in editorial magenta that's visible without being garish. The configurable hotkey itself is an accessibility affordance — users on non-standard keyboards, with motor differences, or with foot pedals all get a working setup.

Apps

Mac apps & integrations

Where Halopen works, where it doesn't, and how it pairs with messaging, mail, notes, and design tools.

Does Halopen work in Notion, Obsidian, Slack, Apple Mail, and iMessage?

Yes, all five. Notion runs as a browser tab and as a Mac app; Halopen lands text in both. Obsidian is a standard Mac app with standard text inputs; same. Slack's Mac app is a standard text-input client; Halopen lands text in any channel or DM. Apple Mail is a standard text-input app; Halopen lands text in the To, Subject, and Body fields. iMessage — same. Multi-line messages, mention syntax, slash commands, emoji shortcodes — all work on top of dictated text the same way they work on top of typed text. Per-app walkthroughs at /for/notion/, /for/obsidian/, /for/slack/, /for/apple-mail/, /for/imessage/.

Does Halopen work in Apple Mail and Messages?

Yes. Apple Mail and Apple Messages are both standard Mac text-input apps; Halopen lands voice-typed text at the cursor in any field — To, Subject, Body for Mail; the compose box for Messages. Reactions and attachments in Messages aren't dictated (those are UI affordances Halopen doesn't reach into), but everything that's actual text — including multi-line messages and replies — works the same as typed text. The native macOS apps are particularly clean integrations because they expose the standard AXUIElement text-input hierarchy that Halopen targets first-class.

Where doesn't Halopen work?

Three categories. **Secure password fields** — banks, password managers, the macOS login screen — macOS blocks all third-party text input there, by design; no dictation tool can deliver text. **Sandboxed system dialogs** that explicitly block external input. **Apps with non-standard custom text widgets** — most notably some games and a small number of cross-platform ports that draw their own text input without standard accessibility hooks. Terminal and iTerm2 work fine, but if Secure Keyboard Entry is turned on under their app menu, macOS blocks all third-party input until it's off; Halopen surfaces a clear menu-bar message the first time it detects this.

Does Halopen work in Figma, Sketch, Photoshop, or other design tools?

Yes, in the text fields. Naming layers, adding annotations, writing copy in text frames, captioning files — Halopen lands voice-typed text in any of those inputs the same way it lands in Apple Mail. Halopen doesn't dictate to graphic primitives — "draw a rectangle" isn't a thing it does; that's a different category of tool. For designers who write a lot of UX copy, brand voice, microcopy, or in-file annotations, the combination of voice typing plus the visual canvas is meaningfully faster than typing alone.

Does Halopen interfere with text expanders or clipboard managers?

No. Halopen lands text at the cursor via simulated keystrokes; text expanders (TextExpander, Espanso, macOS built-in Text Replacement) react to triggers in the typed stream the same way they would for typed text — so expander shortcuts you dictate still expand. Clipboard managers (Raycast, Alfred, Maccy, Paste, Pastebot) pick up text from the clipboard, which Halopen doesn't use as its delivery mechanism, so dictated text doesn't end up in your clipboard history unless you copy it explicitly. Both categories of tool run cleanly alongside Halopen.

Technical

Technical & under-the-hood

What Halopen is built in, how much RAM and CPU it uses, latency, and what happens on slow connections.

Is Halopen built in Swift or is it an Electron app?

Native Swift, built on AppKit, AVAudioEngine, AXUIElement, and CGEventTap — the same APIs Apple writes its own apps with. No Electron, no embedded browser, no JavaScript runtime in the loop. The download is 7.8 MB. Idle RAM sits in the tens of megabytes (typically 30–60 MB). Idle CPU is near-zero — Halopen doesn't run a continuous background process; it sleeps until you press the hotkey. The menu-bar pill is a real macOS panel, not a web view. The hotkey is a CGEventTap, not a JavaScript shim. Native apps feel and behave like Mac apps because they are; that's a load-bearing product decision.

How much memory and CPU does Halopen use?

Tens of megabytes at idle — typically 30–60 MB of RAM, depending on macOS version and recent activity. Idle CPU is near-zero; Halopen sleeps until you press the configured key. While you hold the key, CPU usage is bounded by the audio I/O thread and the WebSocket the transcription engine uses; on a recent Apple Silicon Mac it stays under 5% even on long utterances. On-your-Mac mode adds a brief Neural Engine spin while transcribing locally; the impact on battery is real but modest and doesn't spin up fans. Halopen never causes thermal throttling under normal use.

How fast is Halopen from release-key to text-on-screen?

Sub-second on a recent Mac with broadband. The dominant component is network round-trip to the transcription service; on a wired connection the median is ~250–400 ms. The actual text-injection step (the simulated keystrokes that land the transcript at your cursor) is in the low milliseconds. The live partial transcript is visible while you're still holding the key — Apple Speech runs on-device during the hold for the live preview; the final transcript is uploaded once on release. On-your-Mac mode is comparable on Apple Silicon; the local model takes a moment to spin up on a cold start but is fast on subsequent dictations.

Does Halopen work on Intel Macs?

Yes for Cloud mode; not for On-your-Mac mode. Halopen ships as a Universal binary that runs natively on Apple Silicon (M1, M2, M3, M4) and Intel Macs — no Rosetta translation; both architectures get a native build. Cloud-mode dictation works identically on Intel and Apple Silicon. On-your-Mac mode requires Apple Silicon because Whisper Large v3 runs on the Neural Engine; Halopen detects an Intel chip at launch and disables the toggle. Intel users continue with Cloud transcription without any change in product experience. Performance is excellent on Apple Silicon; acceptable on the last 3–4 years of Intel Macs.

Does Halopen work on a slow internet connection?

Yes in Cloud mode, with proportional latency. The live preview is generated on-device by Apple Speech while you hold the key, so the in-pill transcript appears at full speed regardless of network. The final transcript is sent in one upload on release and arrives over the same network as any other web request — on a slow link the upload simply takes longer; on a connection too slow to complete the upload, Halopen surfaces a clear error rather than silently failing. On-your-Mac mode doesn't touch the network at all for transcription; it works at 30,000 feet, in a SCIF, with the Ethernet cable pulled, on airplane mode. The 8,000-word free-tier counter is offline-tolerant and flushes to Halopen's server on the next online launch.

Trust

Trust & company

Who built Halopen, how it's funded, and why those choices show up in the product.

Who built Halopen?

Halopen is built by Jesse Meria, founder of Meria LLC, an Apple Developer ID–signed software company. Halopen is one of several Meria products focused on Mac-native tools and AI-assisted creative work. The app is independently funded — no outside investors steering the roadmap toward a particular feature set. Decisions about transparency, pricing, and product scope are made by the people who'll be supporting customers in five years, not by a board with a different time horizon.

Is Halopen open source?

The Halopen app itself is closed source. The transcription models underneath are not Halopen's — Cloud mode uses OpenAI's commercial `gpt-4o-transcribe` API; On-your-Mac mode uses OpenAI's open-source MIT-licensed Whisper Large v3 model running via Argmax's open-source Swift WhisperKit library. What Halopen builds on top of those — the integration, the hold-to-talk system, the per-app injection profiles, the audit log, the vocabulary biasing, the live preview — is closed-source intellectual property. The transparency policy at halopen.com/transparency/ documents exactly what's disclosed and what's held, with the decision rule published alongside.

How is Halopen funded?

By customers. Halopen is independently funded — no outside investors, no acquisition runway pressure. Revenue comes from Pro subscriptions ($19/month, $179/year) and Pro Lifetime ($499 one-time), processed by Stripe. The 8,000-word free tier is genuinely free; Halopen's growth model is that people use the free tier until they hit the cap, decide whether voice typing earned a place in their work, and upgrade if it did. The independence shows up in the product: the transparency policy, the lifetime tier, the verbatim default, the audit log — none of which would survive a "what does the board want next quarter" review.

Still have a question?

Write to a real person.

Every email to [email protected] lands in a human inbox and gets a human reply, usually within a day. We’d rather you ask the question and get a clear answer than guess.