Skip to content
Halopen

The Halopen field guide · Cursor

Voice typing for Cursor and the rest of your Mac.

Cursor has a microphone in Agent chat. Halopen is for the same shortcut in the terminal, the commit message and your other Mac apps, with the words written as you said them.

No Cursor extension · macOS 14.0+
No credit card. Then $19/month or $179/year.

Spoken with Cursor in front, 12 takes

  • npm test --watch9 of 12
  • npx prisma migrate12 of 12
  • useEffect12 of 12
  • /user/jesse/developermisspelled · 8 of 12
  • version 1.8.3712 of 12
The most common written form of each spoken phrase, and how many takes produced it. Measured October 7, 2026 with a synthetic voice; the full table and method are below.

01 / Start here

Cursor already
has voice input.

Cursor’s documentation says: “Click the microphone icon in the chat input to dictate your prompt instead of typing.” If Agent chat is the only place you want to speak, start there. It is already installed.

A separate dictation app is worth a trial when:

  • You write outside Agent chat. The integrated terminal, a commit message, a pull request description, a note in another app.
  • You want one habit. The same key, held the same way, in each of them.
  • The audio should stay on the Mac. Halopen’s on-device mode transcribes locally on Apple Silicon.
  • You want the words as you said them. Halopen starts in Verbatim in Cursor, so a cleanup mode you chose for email does not rewrite a prompt.

Checked against Cursor’s voice-input documentation on October 7, 2026.

02 / Measured

What a spoken command
came back as.

We spoke one developer sentence 12 times with Cursor in front and counted what was written. “npx prisma migrate”, “useEffect” and the version number were correct on all 12 takes. The flag kept both dashes every time, but 3 of the 12 lost the space in front of it.

The file path was the weak point. It was spelled correctly on 2 of 12 takes: most wrote “user” for “users”, and two wrote “Jessie”.

So say the instruction, read what arrived, and type the path and any identifier that has to be exact.

12 takes of one recorded clip, Cursor in front. Measured October 7, 2026, Halopen 1.8.40.
SpokenWritten asTakes
“npm test dash dash watch” npm test --watch 9 of 12
npm test--watch not what was meant 3 of 12
“N P X prisma migrate” npx prisma migrate 12 of 12
“use effect” useEffect 12 of 12
“slash users slash jesse slash developer” /user/jesse/developer not what was meant 8 of 12
/user/jessie/developer not what was meant 1 of 12
/users/jesse/developer 1 of 12
/Users/jesse/developer 1 of 12
/users/jessie/developer not what was meant 1 of 12
“version one point eight point three seven” version 1.8.37 12 of 12

How this was measured, and what it does not show

One clip, spoken by the macOS voice Samantha at 170 words a minute, was sent 12 times through the same streaming transcription client the app uses, with the vocabulary hints a dictation carries when Cursor is the app in front. The clip was fed as a file, so no microphone or room was involved. Each row counts the exact text that came back.

A synthetic voice is steadier than a person. Your accent, pace, microphone and words will give different counts, and this clip does not test inserting the text into Cursor. It shows which kinds of token came back the same on every take and which did not. Run the clip’s sentences yourself with the dictation test.

03 / Set it up

A short prompt
is the right first test.

  1. Set up Halopen

    Download the Mac app, sign in, and grant Microphone and Accessibility access. Follow the download page to configure your dictation shortcut.

  2. Focus a Cursor prompt

    Click in the Agent chat input. Halopen pastes the text there and starts in Verbatim in Cursor, even if your default output mode is Polish or Editorial.

  3. Hold the function key and speak

    Try: “Explain this function and suggest a test. Do not change any files yet.”

  4. Release and review

    Check the inserted text. Correct names or technical symbols if needed, then send the prompt yourself.

  5. Use the same shortcut in your notes

    Write down the next step in Notes or Obsidian. Halopen inserts text; the destination app decides how to use it.

Download Halopen and follow the permission and shortcut instructions. Halopen inserts text and stops; you send the prompt.

04 / Prompts worth speaking

Three places you write
in Cursor.

These are authored practice prompts, not recordings. Read one aloud in a disposable project and check what arrived before you send it.

An inline edit on a selection

Extract the validation into its own function. Keep the error messages the same. Do not change the function signature.

Check that the right code is selected and that both things to keep survived.

A question in Agent chat

Explain how the orders module retries failed requests. Suggest a test for a timeout, but do not change the implementation yet.

Check the scope and the instruction not to change anything.

A broader change

Move the rate limiting out of the request handler into its own module. Make the per-route limits configurable. Show me the plan before editing, and leave the tests alone until I approve it.

Check every negative, then type the file and module names yourself.

The commit message

Move rate limiting into its own module. The handler was doing two jobs and the limits could not be tested on their own.

The reason is the part people skip when typing. Read it once before you commit.

Try the dictation test for code to run the same kind of check on your own voice.

05 / Processing & privacy

What leaves your Mac
when you dictate.

Cloud mode sends the audio to a transcription service. With vocabulary hints on, your dictionary entries go with it. A separate context setting, off by default, can add selected text, clipboard text and the text before the cursor, which in an editor may be code.

On-device transcription processes speech on an Apple Silicon Mac after the model is downloaded. It does not send that recording to the cloud transcription service. Account, licensing, and update checks have separate network behavior. Usage reporting and enabled diagnostics can also use the network outside a local dictation.

A “(local)” dictation entry identifies the transcription route. The audit log is not a monitor of every network request made by your Mac or the app. Cursor’s own requests are separate from all of this.

Read Halopen’s privacy details before dictating confidential code.

06 / When something gets in the way

Check the simplest
thing first.

No text appears

Click the input and confirm ordinary typing reaches it. Check that Halopen is signed in and has Microphone and Accessibility permission. Try a sentence in Apple Notes to separate a setup problem from Cursor.

The preview showed words, the prompt did not

The live preview is provisional. Final text comes from the completed transcription. If Cloud recognition fails, Halopen can finish on the on-device model when it is installed and the fallback is on; otherwise look for the saved-audio recovery in the app.

A name or identifier is wrong

Add names you say often to your dictionary in Cloud mode. For a path, a flag or a variable, type or paste the exact string after dictating the sentence around it.

It works in chat but not in another panel

Different inputs in Cursor can handle focus and paste differently. Test each one you plan to use with a harmless sentence, and write to Halopen support with the app versions if one does not accept text.

07 / Questions

Before your first prompt.

Does Cursor already have voice input?

Yes. Cursor’s documentation says: “Click the microphone icon in the chat input to dictate your prompt instead of typing.” Try that first if your only goal is voice input in Agent chat. Checked against Cursor’s prompting documentation on October 7, 2026.

Why use Halopen with Cursor?

Halopen offers a consistent hold-to-talk shortcut across Mac apps, including your notes, email, and terminal. It is a separate app, so it needs its own permissions and sign-in.

Can I dictate literal code and file paths?

We measured it: 12 takes of one clip with Cursor in front, a synthetic voice, on October 7, 2026. “npx prisma migrate”, “useEffect” and a version number were written correctly all 12 times. A spoken --watch flag kept both dashes every time but lost the space in front of it on 3 takes. The file path was spelled correctly on 2 of 12. Dictate the instruction, review it, and type exact paths and identifiers.

Is the live preview the final text?

No. Live partials are a preview and can differ from the final transcript. Final text comes from the completed transcription. If Cloud recognition fails, Halopen can transcribe the same recording with the on-device model when that model is installed and the fallback is on; otherwise look for the saved-audio recovery in the app. Not every failed take can be recovered.

Does Halopen send the prompt or run terminal commands?

Halopen inserts text at the cursor. Review it and send it yourself. Check commands and flags carefully before pressing Return in a terminal.

Does audio leave my Mac?

In Cloud mode, audio is sent for transcription. On-device transcription runs locally on Apple Silicon. See the privacy guide for provider handling, local history, and operational data.

How much does it cost?

Halopen is free for 14 days, no credit card. Pro is $19/month or $179/year.

Try it during one workday

One shortcut.
The places you write.

No credit card · macOS 14.0+ · Apple Silicon & Intel