Skip to content
Halopen

developers

Voice typing patterns for Cursor on Mac

Six voice prompt patterns for Cursor's three surfaces — Cmd+K, Cmd+L, Cmd+I — that Halopen users hit every morning. The muscle memory of prompting Cursor by voice.

Jesse Meria · · 10 min read

THE PATTERNS

Six prompt shapes Cursor rewards

Six voice prompt patterns recur every morning when Halopen users dictate into Cursor on Mac: the Cmd+K verb-object-qualifier, the Cmd+K negative-constraint addendum, the Cmd+L thinking-out-loud paragraph, the Cmd+I five-clause Composer spec, the Cmd+I file-path-first prompt, and the Cmd+I rollback-safe spec. Each shape matches the prompt input it lands in — Cmd+K narrow, Cmd+L conversational, Cmd+I multi-clause.

The flagship walkthrough on voice typing for Cursor makes the case for why each of Cursor’s three surfaces — Cmd+K, Cmd+L, Cmd+I — wants a different shape of prompt. This piece is the muscle memory: six prompt shapes, two for each surface, drawn from real Halopen sessions in Cursor on the Halopen marketing site, the Mac app, and the edge functions that run the dictation pipeline.

Two notes before the patterns. First — the patterns aren’t templates. They’re the way an engineer talks through a piece of work when articulation cost drops to zero. Second — the same shape works across Cursor’s standard editor and the Composer Agent mode. Cursor reads the verbatim text Halopen lands at the prompt input; the agent doesn’t know whether the prompt was typed or spoken.

CMD+K · INLINE EDIT

Pattern 1 — Verb · object · qualifier

Cmd+K’s prompt input is narrow, and the agent has the selection plus the surrounding file already in context. The pattern that wins names the change in the smallest number of words that still leaves no ambiguity. Verb names what changes. Object names what’s changing. Qualifier names the constraint that prevents the wrong-direction edit.

Pattern 2 — The Cmd+K negative-constraint addendum

The second Cmd+K pattern is the verb-object-qualifier with one extra clause: the negative constraint that names what not to change. The full shape is verb + object + qualifier + “don’t…”. The fourth clause is the one that stops an inline edit from quietly drifting beyond the selection.

CMD+L · CHAT

Pattern 3 — Thinking-out-loud paragraph

Cmd+L opens Chat. The prompt’s job is to bring Cursor’s model up to the point where it can answer the question that brought you to the panel. The pattern that wins is a four-part paragraph: what I’m seeing + what I’ve already ruled out + what I’m asking + what I don’t want. Each part is one sentence; the whole takes about thirty seconds spoken.

The four-part shape is the way engineers talk about hard questions to each other on a video call. It’s not the way engineers type prompts into a chat input — typing the second sentence (what you’ve already ruled out) feels like overhead because the chat is right there to ask follow-ups. So the typed version skips it; the model proposes the thing you already ruled out; the second turn becomes the conversation that should have been the first.

CMD+I · COMPOSER

Pattern 4 — Five-clause spec

Cmd+I opens Composer. The prompt input is wider than Cmd+L’s, and the input invites length the way a blank document does. The pattern that wins is the multi-clause spec: change + scope + architectural constraint + test contract + negative constraints. Five clauses. Each one stops a different class of misread.

This is the prompt almost nobody writes by hand. Typing five constraint clauses takes three or four minutes if you mean it; most engineers type a one-sentence version, accept Composer’s first-draft diff, then spend the saved time reviewing and re-prompting around the constraints they didn’t bother to type. Spoken, the five-clause spec takes forty seconds. The first-draft diff lands clean.

Pattern 5 — File-path-first Composer spec

When the work is “go look at this file and then change three others to match,” the prompt that wins names the file path before the verb. Composer reads the file the moment it sees the path. The shape is path + selector + change spec + test + negatives.

The trick is the same as in Claude Code: speak slashes as “slash”, dots as “dot”, dashes as “dash”. Halopen’s cursor-context biasing prefers the directory tree of files already mentioned in your buffer.

Pattern 6 — Rollback-safe Composer spec

When the work is irreversible-by-default — a database migration, a public API change, a build pipeline edit — the pattern that wins names the rollback before the change. Shape is forward action + rollback statement + verification + the safety clause. Composer doesn’t always write the rollback unless you ask; the spoken version asks every time.

UNDER THE HOOD

Why the same hotkey works in all three surfaces

Cursor’s three surfaces are all standard Mac text fields. Cmd+K opens an inline-edit modal whose input is a TextField. Cmd+L opens the Chat panel whose input is a TextField. Cmd+I opens Composer whose input is a TextField. Halopen lands text in any Mac text field via the macOS Accessibility API; the agent reads the verbatim text the API delivered. Nothing about the integration is Cursor-specific.

That choice — to live one layer below the editor — is the wedge. The same hotkey works in Cursor, Claude Code, Aider, Continue, Windsurf, Cline, and every other Mac AI coding surface — because the architecture doesn’t know which surface it’s in. The full case for the verbatim contract — what was said is what arrives — sits in the manifesto.

QUESTIONS

Frequently asked questions

What are the voice prompt patterns that work best in Cursor?

Six recur every morning. The Cmd+K verb-object-qualifier, the Cmd+K negative-constraint addendum, the Cmd+L thinking-out-loud paragraph, the Cmd+I five-clause spec, the Cmd+I file-path-first prompt, and the Cmd+I rollback-safe spec. Each one matches the shape of one of Cursor's three surfaces; voice removes the articulation cost that makes typed versions skip the constraint half.

How do I dictate a Cmd+K prompt in Cursor on Mac?

Highlight the lines, press Cmd+K, hold the function key, speak the change in the verb-object-qualifier shape — name the verb (convert, extract, rename), the object (this function, this prop, this CSS rule), and the qualifier (the constraint that prevents the wrong-direction edit). Release the key; the prompt lands in the modal in milliseconds. Hit return; the inline edit applies.

What's the right voice prompt shape for Cursor's Cmd+L Chat panel?

The four-part paragraph: what you're seeing, what you've already ruled out, what you're asking for, what you don't want. Spoken, that paragraph takes about thirty seconds and lands as the first turn of the conversation. The model answers the actual question instead of suggesting the architectural refactor it would propose against a typed three-word version.

Can I dictate a Cmd+I Composer spec across multiple files in one take?

Yes. Halopen's hold-to-talk window covers a five-clause Composer spec — the change, the file paths, the architectural constraint, the test contract, and the negative constraints. The natural rhythm of explaining a refactor out loud comes through as sentence and paragraph breaks Composer reads correctly.

Why is voice typing better for Cursor's three surfaces than typing?

Each Cursor surface rewards a different prompt shape — Cmd+K wants one constraint, Cmd+L wants four-part context, Cmd+I wants a five-clause spec. Typing converges all three toward the shortest possible version because every clause costs articulation effort. Spoken, the cost flattens; the prompt arrives at each surface in the shape that surface was built for.

Does Halopen need a Cursor extension to work in Cmd+K, Cmd+L, and Cmd+I?

No. Halopen runs system-wide via the macOS Accessibility API. Cursor's three prompt surfaces are all standard Mac text fields; Halopen lands text in any Mac text field. No extension to install, no version-compatibility matrix, no Cursor-side configuration.

Open Cursor. Choose a surface. Hold the function key.

The patterns are not a checklist. They’re the shape of how an engineer explains the work to a teammate, applied to the surface where Cursor is doing the work. Speak the verb, the object, the qualifier — Cmd+K applies the inline edit. Speak the four-part paragraph — Cmd+L answers the actual question. Speak the five-clause spec — Composer ships the diff. The same hotkey runs all three.

Try Halopen

Hold the function key. Speak.

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

Power-user cheat sheet

Take Halopen with you.

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.