Guide
Dictating prompts to ChatGPT and Claude
The best prompt you will write today is the one you would say to a colleague, at the length you would say it. Typing is what stops you. This is how to dictate into a browser chat box instead — and what changes about the answers when you do.
Everyone who uses a model daily has noticed the same thing: the answer tracks the prompt. Say which file, which constraint, which thing you already tried and which answer you do not want, and you get one usable reply instead of three rounds of narrowing. Leave those out and the model fills the gap with an average of the internet.
The reason people leave them out is not that they do not know them. It is that each one costs another sentence to type, and by the third sentence the typed prompt has quietly become a search query.
Speaking makes prompts longer, and longer is the point
Speech runs at roughly three times typing speed for most people, and the difference does not show up as the same prompt arriving sooner. It shows up as a different prompt: the one with the background in it.
Spoken prompts carry the things that get cut when you type. The reason behind the request. The constraint that is obvious to you and invisible to the model. The two approaches you already rejected, which is the single most useful sentence in most prompts and almost never gets typed. Say "I already tried X and it broke on Y" and you have removed an entire wrong branch of the answer.
They also carry hedges — "roughly", "if that is even possible", "I would rather not" — and those are instructions, not noise. A model reads them as the bounds of the answer you want. This is the reason Voicecape removes fillers and leaves your wording alone: "um" is nothing, but "I would rather not" is the whole request.
The mechanics in a browser
Hold the key, speak, let go, and the text lands in the chat box at the cursor. The default hold-to-talk key on macOS is fn, and it can be changed to whatever your hands prefer. Holding rather than toggling means letting go is the off switch, so a chat box never fills up with a conversation you were having with someone else in the room.
Browsers get text through the clipboard rather than through the accessibility API, because a browser text field reports that it accepted a write before the page has actually taken it — trusting that report is how dictated text vanishes silently. Voicecape puts the text on the clipboard, sends a paste, watches for the paste to land, and puts your previous clipboard back afterwards, images and rich text included. That write is also marked local to this Mac, so a prompt you just dictated is not pushed to your other devices on its way into a chat box.
One habit is worth building: do not press Enter as part of the same motion. Speak, let go, read the line, then send. Dictation removes the typing, not the thinking, and the second before Enter is where the thinking still is.
Say the words your work is made of
A general speech model knows English. It does not know your repository, your product names or the surname of the person you are asking about. Say a framework name to an unprimed recogniser and you tend to get the nearest ordinary word instead, and then you fix it by hand, every time.
The personal dictionary exists for exactly that list. Add the identifiers you actually say out loud — service names, the CLI tools in your muscle memory, the two colleagues who appear in half your prompts — and each one is handed to the recogniser as a hint before you speak. It biases the decoder toward that spelling without forcing it, and it can carry a reading for words whose spelling is a poor guide to their sound. Ten to fifteen entries covers most working vocabularies. They are stored on the Mac, per language.
When to switch to Verbatim
Two cleanup modes, both local and both rule-based. Exact Clean is the default: unambiguous fillers and accidental doubled words go, everything else stays exactly as you said it. That is the right mode for a prompt, because a prompt is prose and the qualifiers are load-bearing.
Verbatim leaves the words entirely alone, and it is the mode for the sentence you are quoting rather than composing — an error string you are reading aloud, a config value, a command you want the model to see character for character. Switching for one line and switching back is a normal thing to do.
What not to dictate
Not the code block. Punctuation density and unpronounceable structure are what make code bad dictation material, and none of that changes because the destination is a chat box — dictation for developers walks that boundary honestly. Paste the code, speak the question about it.
Not anything you would not want on the clipboard for a moment, either. The clipboard path is how browser insertion works, and a password field refuses dictation outright for that reason.
Where this sits
Inside a coding agent the same hotkey covers the terminal and the editor, and Claude Code has its own built-in voice command that stops at the edge of its session — voice input for Claude Code is that page. When the prompt is a document rather than a message, the surface changes again and so does what makes a good one: writing issues an agent can act on.
And if the question underneath all of this is whether the audio stays on the Mac, it does, and the Trust Center lists every host the code can reach so you can check rather than believe.