Dictation for, on a Mac

Dictation for Claude Code on a Mac

On a Mac, Claude Code usually lives in a terminal: Terminal, iTerm2, or the terminal pane inside VS Code or Cursor. Whichever one it is, the part of the session you do by hand is the prompt box, and what goes into it is prose. What you want changed, why the first attempt was wrong, what the tests should cover. That is the part of the work most worth saying out loud.

Deixis puts your voice in that box. Hold Ctrl+Option, say the instruction, let go, and clean punctuated text is typed at the prompt, with your clipboard put back the way it was. The speech is recognised by the app on your Mac, and the audio of your dictation never leaves it. There is no account to make and nothing to install into Claude Code.

Because Deixis types at the caret rather than living inside one program, the same chord works in the next window too: the commit message, the pull request page in your browser, the reply in your team chat. One voice input for the whole Mac, and free for everything that runs on it.

Why Deixis

What it gives you in Claude Code, and what it will not do

Why Deixis in Claude Code

  • One chord in every terminal you run it in. Terminal, iTerm2, the integrated terminal in VS Code or Cursor, Claude Code's desktop app, a browser tab. Deixis is a plugin for none of them, so it works the same in all of them. There is nothing to configure per app, and nothing to lose when you switch.
  • Your voice stays on your Mac, with nothing to sign in to. Claude Code's own /voice is candid about the trade. Its docs say it streams your recorded audio to Anthropic's servers rather than processing it locally, that it needs a Claude.ai account, that it is unavailable on an API key or through Bedrock, Google Cloud or Foundry, and that an organisation policy can switch it off. Deixis recognises your speech inside the app, on the Mac, with no account of any kind.
  • Hands-free for as long as the thought takes. Claude Code's hands-free option, tap mode, stops on its own after fifteen seconds of silence or two minutes in total. Double-tap the Deixis chord for free mode and it records until you double-tap again, however often you stop to think.
  • It punctuates for the field it is typing into. A prompt, a one-word answer to a permission question, a commit line and a pull request body should not come out alike. When cleanup hands your words to a model, the name of the app and the name of the field go with them, so a line comes out as a line and a body gets sentences. The window title never travels, and neither does anything on your screen.
  • Your stack's words come out right. Left alone, a speech model hears shadcn as "shadkin". Add it in the Dictionary window once and it is spelled your way from then on, corrected on the Mac before cleanup sees a word. The software vocabulary pack is on from the start, and four more ship beside it.
  • Talk while you point. Double-tap the chord for free mode, then tap it for a small toolbar: take the text you have selected, or grab a region of the screen, and keep talking. What you said and what you pointed at come out as one note, in the order it happened, pasted where you finish and saved as a Markdown file. The stack trace and your account of it, together.
  • Show the bug rather than describe it. Ctrl+Option+S freezes the screen so you can box the broken part, number the steps that led to it, and pixelate an API key before the picture goes anywhere; Copy puts the finished image on the clipboard. Ctrl+Option+V records the screen to a video file on your Mac for the bug that only shows up in motion, and the same chord stops it.
  • Free on the Mac, for good. Dictation, free mode, the dictionary, grabs and screen recording cost nothing and ask for no account. Pro, at $49 a year, runs the cloud cleanup for you, so you do not need a key of your own.

What it will not do

  • It does not read the session. Deixis knows the name of the app and the field it is typing into, never what is in them, so it has no idea what Claude Code just proposed or which files it touched. It is a way to say your half of the conversation, not a second agent.
  • It understands English only. The speech model is an English model. Claude Code's dictation covers twenty languages, so if you prompt in one of the others, theirs is the tool for it.
  • It does not pick up your branch name by itself. Claude Code hands your project and branch names to its recogniser as hints, automatically. Deixis learns names from the Dictionary window and its packs, which takes a moment of yours rather than none.
  • No Claude usage key on the Mac yet. On Windows, a Deixis key shows how much of your Claude plan is left in a popup by the cursor, and your own palette buttons and webhooks run there too; meeting transcription and translation run on Windows and Android. None of them is in the Mac build today.
  • It needs Apple Silicon and macOS 13 or later. There is no Deixis for an Intel Mac, and none for Linux.
  • It is not a keyboard replacement, and it will not transcribe a file. Flags, paths and symbols are still faster typed, and Deixis transcribes what it records rather than audio you hand it.

What you get

More than dictation, on your Mac.

Hold Ctrl+Option and speak, or press a letter while you hold it: free mode, a grab, a screen recording. All of it on your Mac, all of it free, none of it behind an account.

The Deixis panel tethered to the caret in a code editor, listening, with the Mac's Ctrl+Option chord

Dictation, where your cursor is

Hold Ctrl+Option, speak, release. Clean, punctuated text lands in whatever app has focus on your Mac, with your clipboard handed back.

A finished free-mode note with a captured region and a selection interleaved with the narration

Free mode: talk and point

Double-tap the chord and narrate for as long as you like while you grab a region or take a selection. One note, what you said interleaved with what you pointed at, pasted where you finish and saved as Markdown.

A frozen screen with a dashed selection, numbered steps, an arrow and a pixelated patch

Screen grabs, annotated

Freeze the screen at the keypress, drag a region, add arrows, boxes, text and numbered steps, and pixelate what is private. Saved as a PNG in a folder you own.

A screen recording in progress, with its timer, pause and stop controls and the microphone level

Screen recording

Record the screen, pause when you need to, and stop. The video is a file in a folder on your Mac, not in somebody else's cloud.

Field by field

The same voice, punctuated for wherever you are in Claude Code

Deixis knows which app and which field your words are going into — the name of the app and the name of the control, never the window title and never what is on your screen. A prompt, a message and a commit line therefore come out differently. Here is the terminal, the editor and the browser, kind by kind.

Where you are What you say What Deixis types
A prompt to the agentthe Claude Code prompt, in your terminal “um, refactor the auth middleware so the session check happens before the rate limiter and add a test for the expired token case” Refactor the auth middleware so the session check happens before the rate limiter, and add a test for the expired token case.The filler goes, the sentence gets a capital and a full stop. Long instructions are where speaking beats typing by the most.
An answer to a permission promptthe yes-or-no prompt before Claude Code runs something “yes but only in the worker directory” Yes, but only in the worker directory.A short reply is punctuated as a short reply and left alone. Nothing is rewritten or expanded.
A project instructionyour CLAUDE.md, open in the editor “prefer shad kin components and keep use effect out of the render path” Prefer shadcn components, and keep useEffect out of the render path.Your dictionary fixes shadcn and useEffect on this machine, before anything is sent anywhere and before any cleanup sees it.
A commit messagethe terminal, or your Git client's message box “fix the race in the release poller it was reading the feed twice on a cold start” Fix the race in the release poller: it was reading the feed twice on a cold start.A commit line is punctuated as a line. The same words in a chat window would come out as two sentences.
A pull request descriptionthe PR body, on the review page in your browser “this moves the cleanup call off the hot path so the insert doesn't wait on the network um and it adds a timeout” This moves the cleanup call off the hot path, so the insert doesn't wait on the network. It also adds a timeout.A long field gets sentences, because Deixis knows it is a body and not a one-line box.

Claude Code facts from its docs, its command reference and voice, read on 27 September 2026. Everything about Deixis on this page is from its README for the current release.

Worth knowing about Claude Code

  • Claude Code's own docs describe five surfaces — the terminal, VS Code, JetBrains IDEs, a desktop app and the browser — each connected to the same engine. Deixis is not a plugin for any one of them: it types where your caret is, so the one key covers all five.
  • CLAUDE.md is the file Claude Code reads at the start of every session, and it is prose rather than code — standards, architecture decisions, review checklists. Prose is exactly what dictation is fastest at.
  • Claude Code has voice dictation of its own, and its docs are refreshingly plain about the trade: “Voice dictation streams your recorded audio to Anthropic’s servers for transcription. Audio is not processed locally.” It needs a Claude.ai account and is unavailable on an API key, Bedrock, Google Cloud or Foundry; an organisation policy can switch it off entirely.
  • It also has edges: the CLI, agent view and the VS Code extension only — not Claude Code on the web, not SSH, Dev Containers or Codespaces, because the microphone is on your machine and the session is not. In tap mode a recording stops on its own after fifteen seconds of silence, or two minutes in total.
  • Where it beats Deixis outright: twenty dictation languages against Deixis’s English, and transcription tuned for coding words with your project and branch names added as hints automatically.

Five minutes

Setting it up

A few minutes, and none of it happens inside Claude Code.

Install it and fetch the model

Download the disk image, which is notarized, open it and drag Deixis to Applications. On the first launch it asks you to press Download once for the speech model. The file is checked before it is kept, and from then on dictation needs no network. Updates arrive through Settings → Updates.

Grant macOS two permissions

The first time you dictate, macOS asks whether Deixis may use Accessibility and the microphone. Accessibility is what lets it notice the chord and type into another app's field; the microphone is the obvious one. Grant both in System Settings → Privacy & Security. The permissions belong to Deixis, so Terminal and iTerm2 need nothing new. Your first screen grab or recording asks for macOS's screen recording permission in the same way.

Learn the one gesture

Hold Ctrl+Option, say the prompt, let go. Double-tap it for free mode, which suits the long instruction you are still working out as you say it. Keep holding for a moment and the palette shows the letters behind the chord, S to grab and V to record. If Ctrl+Option already means something in your setup, Settings → Hotkey records a new chord as you press it.

Give it your vocabulary

Open the Dictionary window and add the names your prompts are full of: the framework, the service, the colleague it keeps misspelling. Words to expect tells the recogniser what to listen for, and Fixes rewrites a mishearing that still gets through, every time, after recognition. Five vocabulary packs ship, with software development switched on.

Decide what may leave, once

Settings → Cleanup is the one privacy choice. Its default, When it helps, tidies your words with rules on the Mac and asks a language model only when you asked for a transform or dictated a long stretch with no punctuation. Never keeps dictation off the network altogether. When cleanup does use a model (Deixis's, your own key, or one running on your Mac), what goes is text: the transcript, your vocabulary, what you last dictated into that field, and the names of the app and the field. The audio is never part of it. What leaves your machine lists every byte.

Before you ask

Questions people search for

Does Claude Code have voice input of its own on a Mac?

Yes: /voice, in the CLI, agent view and the VS Code extension. Anthropic's page says it streams the recorded audio to their servers rather than processing it locally, and that it needs a Claude.ai account; it does not work in Claude Code on the web or over SSH. Deixis recognises your speech on the Mac and needs no account. Plenty of people keep both.

Which one should I use?

Use Claude Code's if you prompt in one of its twenty languages and only ever speak to the agent. Use Deixis if you want the audio to stay on your Mac, if you have no Claude.ai account or your organisation has switched voice off, if you want to talk hands-free for longer than its two-minute tap mode allows, or if you want the same chord in your commit messages, your chat and your email.

Does it work in Terminal and iTerm2?

Yes. Deixis types at the caret, and the Claude Code input box is a caret like any other, whichever terminal it is running in. Deixis only ever types, so sending the prompt stays your Return key.

Will it run on an Intel Mac?

No. The Mac build needs Apple Silicon and macOS 13 or later, while Claude Code's own desktop app is offered for Intel Macs too. Where Deixis runs keeps the current state of every build.

Do I need an account or a subscription?

No. Dictation, free mode, the dictionary, grabs and screen recording all run on the Mac, free, with no sign-in. The only thing that can cost money is cloud cleanup, and even that is free with your own provider key or a model on your Mac; Pro, at $49 a year, is for having Deixis run it with nothing to set up.

Does it work offline?

Yes, once the speech model is downloaded. Recognition happens on the Mac, and with no cleanup endpoint set the text stays there as well. A fresh install makes two calls on its own, the update check and a check for an announcement when you open Settings, and neither carries anything but the request.

Keep reading

How to type by voice in any app on a Mac, with the speech recognised on the Mac itself

How to type by voice in any app on a Mac: hold Ctrl+Option, speak, let go. Speech recognition runs on your Mac, free and with no account.

Dictation on a Mac, compared with Deixis

MacWhisper, Superwhisper, VoiceInk, Wispr Flow and Apple Dictation, set beside Deixis on a Mac: where speech is recognised, what leaves, the price.

Dictation for Cursor on a Mac

Hold Ctrl+Option and speak into the Cursor agent prompt, a rules file or the terminal pane. Recognised on your Mac, no account, free.

Dictation for VS Code on a Mac

Hold Ctrl+Option to dictate into VS Code chat, comments and the terminal, then into every other app on your Mac. Recognised on the Mac, no sign-in.

Dictation for Terminal and iTerm2 on a Mac

Hold Ctrl+Option and speak into Terminal or iTerm2 on your Mac. Agent prompts, commit messages and heredocs, recognised on the Mac, with no account.

Voice dictation for Obsidian on a Mac

Hold Ctrl+Option and talk into any Obsidian note on your Mac. No plugin, speech recognised on the Mac itself, and Markdown notes you own. Free.

Two keycaps, Ctrl and Win, held down and lit teal from underneath.

Hold a key. Speak. Keep working.

Deixis is free, needs no account, and runs on your own device. Everything on this page is in the current release.

v1.2.2 · 64‑bit Windows 10/11 · macOS 13 on Apple silicon · 51 MB · nothing else to install

Facts about Claude Code checked on 2026-09-27 against code.claude.com. Deixis facts are from its README for the current release. Something out of date? Tell us.