Option 1: the built-in /voice mode
- In a Claude Code session, run /voice. The first time, macOS asks for microphone permission for your terminal app.
- Hold Space to record (there is a short warmup while the terminal detects a held key), or switch to /voice tap to tap once to start and once to send.
- Speech appears in the prompt as you talk and is finalized when you release.
What to know, as of September 2026, from Anthropic's own documentation: audio is streamed to Anthropic's servers for transcription, it is not processed locally; it requires signing in with a Claude.ai account and is not available with an API key, Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry; it does not work over SSH or in remote sessions because the microphone is on your machine; and it only exists inside Claude Code and its VS Code extension. Recording stops by itself after fifteen seconds of silence or two minutes in total.
If all of that fits how you work, it is a fine choice and you need nothing else.
Option 2: one dictation key for every tool
A system-wide dictation app inserts text wherever your cursor is. Claude Code is a terminal application, so the prompt input is just another text field on your Mac. Hold the key, talk, let go, and the prompt is written.
The same key then works in Cursor's chat, in Codex, in a browser tab with ChatGPT open, in a GitHub review comment, and in Slack when you go explain the change.
With DeftNib specifically:
- The transcription runs on the speech engine Apple ships with macOS 26, on your Mac. The cleanup (punctuation, fillers, corrections you say out loud) runs on Apple's local model, with rule engines underneath. Your audio and your text never leave the machine, with Wi-Fi on or off. What does leave, call by call.
- No account. The free plan is 4,000 words a week with every feature.
- A vocabulary of development terms is built in, and your own words go in the dictionary once and are recognized everywhere.
- In the terminal proper (a shell prompt, not a chat), DeftNib inserts the transcript literally, so a dictated command stays a command. How it treats each place a developer types.
Setting it up
- Download DeftNib and run the setup assistant. It asks for microphone and accessibility permission and explains why each one is needed.
- Pick your key. fn is the default; any modifier works.
- Open Claude Code, put the cursor in the prompt, hold the key and describe what you want. Release. Press Enter when you are happy with the text.
Side by side
| Claude Code /voice | DeftNib | |
|---|---|---|
| Where transcription runs | Anthropic's servers | Your Mac |
| Account | Claude.ai login required | None |
| Works in | Claude Code, its VS Code extension | Every text field on macOS |
| Cleanup | Tuned for coding vocabulary; project and branch names as hints | Punctuation, fillers, spoken corrections, personal dictionary, snippets |
| Spanish and Spanglish | Spanish is one of 20 dictation languages | Spanish with opening marks, voseo and work Spanglish as a main case |
| Price | Included with Claude | Free to 4,000 words a week; Pro one payment |
A note on prompts as prose
The best prompts read like a clear message to a capable colleague: what you want, what you know, what you have ruled out. That is spoken language, and it is why dictation fits this job better than it ever fit writing code. You still type the code. You stop typing the paragraphs around it.
You said
“The problem is that what I actually think is that Redis is timing out”
It wrote
What I actually think is that Redis is timing out.
The false start is gone, the sentence is untouched
Mac with Apple Silicon and macOS 26 or later. Free up to 4,000 words a week, no account.
By downloading you agree to the Terms and the Privacy Policy.
Questions
Do I have to leave /voice on to use DeftNib?
No. They are independent. Turn it off with /voice off if you prefer one key for everything; the setting persists across sessions either way.
Does DeftNib see what Claude answers?
No. The app reads a few things to insert text where your cursor is (which app is in front, whether the focused element is a text field, and the three characters before the cursor to decide on spacing). It never reads the rest of the screen and never takes screenshots.
Can I use it in Cursor and Codex too?
Yes. Same key, same behavior. Cursor's chat and Codex's input are text fields; the full pipeline runs there.