How to talk to Claude Code instead of typing your prompts

, 4 min read

Claude Code gets better the more context you give it. The annoying part is that context costs typing. You know what you want: move this check, keep that behaviour, don't touch the migration, and please update the README while you're at it. By the time you've typed all that, you've trimmed half of it because your fingers got bored.

Talking fixes that. Most people speak at well over a hundred words a minute and type at maybe half that, and spoken prompts tend to carry the "why" that typed ones drop. This post is about making that work day to day.

Option one: the built-in /voice command

Claude Code ships with a /voice command. Turn it on, hold Space, talk, let go. For a lot of people that's enough, and it's free with Claude Code.

It's worth knowing how it works before you build a habit around it. According to Anthropic's own docs:

  • Your audio is streamed to Anthropic's servers for transcription. It isn't processed locally.
  • It needs a claude.ai account login. It isn't available when Claude Code uses an API key directly, Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry.
  • It needs a local microphone, so it doesn't work in SSH or cloud sessions.
  • It only works inside Claude Code.

None of that is a criticism. It's a sensible design for a feature inside a CLI. But if you work over SSH, use an API key through your company, or just want one way of dictating that works everywhere, you'll want something outside the terminal.

Option two: dictate on the Mac, paste into the terminal

This is the setup we use, and it's why we built Whisp. The idea is boring on purpose:

  1. Click into the Claude Code prompt.
  2. Press ⌥ Space and talk. Pauses are fine. Whisp keeps listening until you finish, so you can stop and think halfway through a sentence.
  3. Press Return (or ⌥ Space again) to finish. The text lands on your clipboard.
  4. Press ⌘V, read it over, and hit Return yourself when you're happy.

That last step matters more than it sounds. Whisp never presses Return for you. In a shell, an auto-submitted half-sentence is at best useless and at worst a command you didn't mean to run.

Because the speech recognition is Apple's on-device engine, it doesn't matter how Claude Code is authenticated or where the session lives. If you can paste into it, you can talk to it.

If you'd rather hold a key than toggle, the Mac App Store version of Whisp also has push-to-talk on ⌥R: hold, speak, let go.

File names are where dictation usually falls apart

This is what pushed us off general-purpose dictation for prompts. You say "update read me dot md" and you get "update read me dot MD", or "Readme.MD", or something worse. Then you fix it by hand and wonder why you bothered talking.

Whisp tidies the common cases after recognition, on your Mac:

  • "read me dot md" becomes README.md
  • "package dot json" becomes package.json
  • "docker compose dot yaml" becomes docker-compose.yml
  • "my sequel" becomes MySQL, "a p i" becomes API, "c i c d" becomes CI/CD
  • "um" and "uh" disappear

For your own project names, add them under Vocabulary & Replacements in Settings. If you save quickflow.yaml, then "at sign quick flow dot yaml" comes out as @quickflow.yaml, which is exactly what Claude Code wants when you're pointing it at a file.

What Whisp won't do is guess. It doesn't turn the word "slash" into a symbol or rewrite your sentence into something it thinks you meant. We'd rather you fix one word than have it quietly change three.

How to speak a good prompt

The tooling is the easy part. Speaking prompts well takes a few days of practice. Things that helped us:

Say the goal first, then the constraints. "I want the token check to live in the API middleware. Keep the error codes the same. Don't change the tests." Claude handles that order well, and so does your own brain.

Talk about the why. When you type, you skip it. When you talk, it comes out naturally: "because right now every route re-checks the token and it's slow." That sentence is worth more to the model than any amount of formatting.

Don't try to dictate code. Describe it. "Add a retry with exponential backoff, max five attempts" works. Reading out brackets doesn't.

Pause instead of saying "um". Silence doesn't end the capture, so you can think. And the ums get stripped anyway.

Read before you send. It takes two seconds and it's the habit that keeps voice prompting from going sideways.

A quick example

Spoken, with a pause or two:

Move the token check out of auth dot ts and into the API middleware, then update the read me dot md. Keep the error codes exactly as they are.

Pasted:

Move the token check out of auth.ts and into the API middleware, then update the README.md. Keep the error codes exactly as they are.

That's the whole trick. You talk like you'd explain it to a colleague, and what lands in the terminal looks like you typed it carefully.

Try it

Whisp is on the Mac App Store with a seven-day free trial. No card, no account. After that it's $9.99 once. If you want the side-by-side version of this post, there's a short comparison with /voice.