Talk to your computer and it types. That is the whole pitch of dictation software, and it is a good one — until you remember where the audio goes. The familiar tools upload every word to a server, keep it for some retention period you did not choose, and charge a subscription for the privilege.

Hex takes the other route. It is a free, open-source app from Anomaly that runs entirely on your machine: hold a key, speak, let go, and your words are transcribed locally and pasted into whatever app you are in — an email, a document, a terminal, a chat box. The first run downloads a speech model from Hugging Face; after that, nothing leaves your machine. No account, no API key, no subscription.

It is also having a moment: the project passed 5,700 stars on GitHub in its first months, and version 3.3.0 landed on November 2, 2026. This guide installs it, runs a first dictation, swaps speech models, and drives it from the terminal — every step checked against the project's own README and docs on November 8, 2026.

What you'll need#

  • A Mac (Apple silicon), a Windows PC (x64 or ARM64), or a Linux machine (x86_64 or ARM64). Linux and Windows are beta in the project's docs; macOS is the primary platform.
  • A microphone — the built-in one works.
  • Internet for setup only: the first run downloads the speech model from Hugging Face. Dictation itself is fully offline after that.
  • About 10 minutes. No account, no API key, no payment.

Step 1: Install Hex#

Pick the installer for your platform. On macOS, Homebrew is the one-liner:

brew install --cask anomalyco/tap/hex

On Linux, the install script from the project's own site:

curl -fsSL https://anoma.ly/hex/install-linux.sh | sh

Debian and Ubuntu users can also grab the .deb and Fedora/openSUSE users the .rpm from the v3.3.0 release page; Arch users have yay -S hex-bin, and Nix users nix profile add github:anomalyco/hex. On Windows, download the installer from anoma.ly/hex and run it.

Launch the app once. It lands in your menu bar (macOS/Windows) or system tray (Linux) and stays out of the way until you call on it.

Step 2: First run — the model download#

On first launch Hex downloads its speech model — the default is Parakeet Unified English, fetched from Hugging Face. This is the one network step in the whole setup, and the only thing that ever leaves your machine is the request for the model file. Give it a minute; the download is a few hundred megabytes, and Hex resumes where it stopped if the connection drops.

Grant microphone permission when your OS asks. Then check that Hex is alive from the terminal:

hex status

That prints what Hex is doing right now — idle, recording, transcribing, or updating. If it answers, the install is good and the model is in place. If it reports a missing model, retry the preparation from Settings; the app's own docs note that a blocked Hugging Face host is the usual cause on managed networks, and the app download succeeding does not prove the model host is reachable.

Step 3: Your first dictation#

Open any app with a text field — a notes app, an email draft, a code editor. Then:

  1. Hold the dictation shortcut.
  2. Speak normally. A small overlay shows Hex is listening.
  3. Let go. Hex transcribes on your device and pastes the text at the cursor.

That is the whole interaction. Try it with a real sentence — an email reply, a commit message, a paragraph of a document — and watch where the text lands: exactly where your cursor was, in whatever app was focused. Nothing was uploaded to get it there.

Two gestures are worth learning on day one. Pressing Escape cancels a recording: nothing is transcribed, pasted, or saved to History. And Option-Shift-V pastes your last dictation again, which is handy when the cursor moved before the paste landed.

Step 4: Drive it from the terminal#

Hex ships a hex command that controls the running app, which makes dictation scriptable. Start a recording without touching the shortcut:

hex dictation start
hex dictation stop

Stop with --print and the transcript goes to stdout instead of the clipboard — useful when you want the words in a script rather than pasted:

hex dictation stop --print

A stop only reports done once the clip actually went to transcription; a silent clip is discarded, not pasted. Other commands worth knowing: hex start opens Hex if it is not running, hex quit closes it (refused while a dictation is active), and hex logs tails the live log when something misbehaves. Every command takes --json and exits with a stable code, so they compose with the rest of your tooling.

Illustration of a microphone with sound waves turning into typed text on a monitor
AI-generated illustration: a microphone, a waveform, and typed text — the on-device path from voice to words.

Step 5: Switch speech models#

The default model is English-only Parakeet. If you dictate in another language, or want a different accuracy/size trade-off, list what is available:

hex model list

That shows every model with its languages and size, installed or not. Download one and switch to it in a single step:

hex model install <id>

To switch between models you already have, without downloading anything:

hex model use <id>

The same picker lives in the app's Settings under Models. One caution from the docs: model use only works with installed models and never downloads or repairs — install first, then switch. If a model goes missing or changes on disk, Hex answers model-unavailable with the reason instead of failing silently.

Step 6: Teach it your words#

Every dictation engine has the same weak spot: names, product terms, and jargon it has never heard. Hex keeps a shared vocabulary you can extend from the terminal:

hex vocabulary add Kubernetes --sounds-like koo-ber-net-eez

List what you have taught it with hex vocabulary list, and remove a term with hex vocabulary remove <term>. The --sounds-like spellings are the useful part: they tell the recognizer how an unusual word is pronounced, so it stops transcribing your project name as three unrelated words. This is the single highest-leverage step if you dictate about technical topics.

Step 7 (optional): Meetings, Labs, and launch at login#

Three extras are worth a look once the basics work. Meetings record and transcribe a whole meeting locally:

hex meetings record --title "Weekly sync"
hex meetings stop

Then hex meetings list and hex meetings show read the transcript back. Experimental features live in Labs, at the bottom of the sidebar — turn one on with hex labs on <feature> or list them with hex labs. And if Hex earns a permanent place in your workflow, hex launch-at-login on starts it with your machine.

Illustration of a tidy desk with a laptop, a keyboard with one glowing key, and a microphone
AI-generated illustration: one glowing key, one microphone — dictation as a keyboard shortcut, not a cloud service.

What you built#

A dictation setup with no server in the loop: Hex installed, a speech model on disk, a hold-to-talk shortcut that pastes into any app, a CLI that starts, stops, and prints dictations, a second model ready to switch to, and a vocabulary that knows your jargon. The same flow works for email, notes, code comments, and meeting transcripts — and the audio never leaves the machine at any point.

If you need transcription of existing audio files rather than live speech, the local route is different tooling: faster-whisper transcribes files on your own machine. And if you want a voice that sounds like you rather than text that reads like you, Chatterbox clones a voice locally — the complementary half of a fully local voice setup.

Honest limitations#

  • First-run download. The model comes from Hugging Face, so setup needs internet and a reachable model host; on a managed network that blocks it, preparation fails even though the app itself installed fine.
  • Beta platforms. The project's docs label Windows and Linux support beta, including Linux X11 and native Wayland; expect rougher edges there than on macOS.
  • Accuracy is the model's, not magic. A local model will mishear proper nouns, heavy accents, and crosstalk the way any recognizer does — vocabulary entries and a better model are the fixes, not a setting.
  • No cloud features. There is no sync, no shared team dictionary, and no speaker diarization from a server. What you get is exactly what runs on your machine.
  • Meetings need enabling. hex meetings record requires meetings to be enabled first; it is not on by default.

The takeaway#

Dictation is one of those features that feels like it has to be a cloud service — until you run it locally and notice nothing is missing. Hex is a small, honest version of the idea: one shortcut, one local model, text at your cursor, no account, no bill, no audio leaving the machine. Install it, dictate one real email with it, teach it one word it got wrong, and you will know within ten minutes whether it stays in your menu bar. For most people who type all day, it does.

Frequently asked questions

Does Hex send my voice to the cloud?

No. Hex transcribes on your device and pastes into whatever app you are in. The only network step is the first run, when it downloads a speech model from Hugging Face; after that, nothing leaves your machine.

Which platforms does Hex run on?

macOS (Apple silicon), Windows (x64 and ARM64), and Linux (x86_64 and ARM64). Install with Homebrew on macOS, the install script or .deb/.rpm on Linux, or the installer from anoma.ly/hex on Windows. The project's docs label Windows and Linux support beta.

Can I use Hex from the terminal?

Yes. The hex command controls the running app: hex dictation start and hex dictation stop record, hex dictation stop --print prints the transcript instead of pasting it, hex model list and hex model install manage speech models, hex vocabulary add teaches it new words, and hex status reports what it is doing.

Sources

  • anomalyco/hex — GitHub repository — README: local voice dictation for macOS, Windows, and Linux; install commands; first-run model download; 5,720 stars; read November 8, 2026.
  • Hex CLI reference (docs/cli.md) — hex status, dictation start/stop, stop --print, model list/install/use, vocabulary add, meetings record, labs, launch-at-login; read November 8, 2026.
  • Hex download hosting (docs/downloads.md) — default Parakeet Unified English model from Hugging Face, model-download recovery, proxy behaviour; read November 8, 2026.
  • Hex v3.3.0 release — latest stable release, November 2, 2026, macOS/Windows/Linux builds; read November 8, 2026.