
Hex Local Voice Dictation in Rust — Speak and It Types, No Cloud
It is evening, and you are sitting in front of a terminal with Claude Code halfway through a refactor. You already know what to do: split the useEffect in UserList.tsx into its own hook and cancel the fetch on unmount. The problem is turning that into a fifteen-line prompt with a keyboard.
Hex local voice dictation exists for exactly that moment. It is a free, open-source dictation app from Anomaly — the team behind OpenCode — for macOS, Windows, and Linux: hold a key, speak, release, and the text pastes itself into the app in focus.
The Real Problem: Typing Long Prompts for a Coding Agent Is Slower Than Thinking
Working with a coding agent is different from writing code directly. Most of the time goes into expressing the request: describing a bug, explaining context. A good prompt is usually long, structured, and full of file and function names. Typing it is slow and easy to get an identifier wrong.
Cloud dictation is not the answer for everyone. Prompts sent to a coding agent often contain internal project names and system structure, and sysadmins and homelabbers work on machines with no internet or inside an internal network. This article is for developers using Claude Code, OpenCode, or Codex, and for sysadmins and homelabbers who need offline voice input.
What Is Hex? Local-First Voice Dictation for macOS, Windows, and Linux
Hex does one thing, at the operating-system level: hold a shortcut, speak, release. Hex records while you hold the key, transcribes on the machine, and pastes the text into the focused app.
On macOS, hold Option to speak, and double-press Option for hands-free recording. On Windows, the default shortcut is Ctrl+Space.
Hex is a product of Anomaly, the team that develops OpenCode, written in Rust. The project is released under the MIT license, and the repo was created on 17/07/2026. As of the check date, 08/11/2026, the repo had 5,759 stars and 343 forks.
The latest stable release is v3.3.0, released on 02/11/2026; v3.0.0, released on 31/10/2026, was a complete fresh start. v3.3.0 adds a model picker comparing three models side by side, and the GigaAM v3 model for Russian.
Hex solves exactly one problem: turning speech into text and pasting it anywhere, without sending audio off the machine. It is not an AI assistant and does not understand voice commands. Since v3.0, Voice Action and spoken commands have been removed.
How Hex Works: Architecture and Mechanism
The whole flow of Hex fits in one short chain: hold the shortcut, record, transcribe on-device, paste into the focused app. No step needs the network after the first run. Hex is an operating-system input layer — it types into Claude Code or OpenCode like a keyboard.
On the first run, Hex downloads a speech model from Hugging Face; after that, dictation usually needs no network. The default model for English is Parakeet Unified English; for Chinese it is Qwen3-ASR 0.6B.
flowchart TD
A["Open Hex"] --> V{"Can the Hex window open?"}
V -->|Missing Vulkan driver| L["Error: window does not open"]
V -->|Vulkan present| B["Hold the shortcut"]
B --> C["Record audio"]
C --> D{"First run?"}
D -->|Yes| E["Download speech model\nParakeet (EN) / Qwen3-ASR 0.6B (ZH)"]
E --> F["On-device transcription"]
D -->|No| F
F --> G{"OpenCode rewrite enabled?"}
G -->|No| H["Paste into the focused app"]
G -->|Yes| I["CLOUD: send transcript\nto the model provider"]
I --> H
H --> J["History: pasted text kept for 7 days"]
A -.->|CPU lacks AVX2| K["Show error and quit"]
In my view, v3.0 was a deliberate architectural turning point. Anomaly removed Voice Action and spoken commands, and added a CLI, MCP, and a TypeScript SDK so other programs can call Hex instead. Hex became a deterministic Unix-style pipe: audio in, text out. That is also why the local model shrank from about 900 MB to about 160 MB.
Technical limits: macOS is the stable channel — Apple silicon only, macOS 15 or later, no Intel machines. Windows and Linux are in beta. The CPU must support AVX2 (from around 2013); older CPUs show a message and quit. On Linux you need X11 or wlroots-based Wayland, and the window still needs a Vulkan driver.
No published accuracy benchmark exists. An independent measurement by aiSIDaily — on CPU, 3 runs, synthesized TTS prompts — found Parakeet and Qwen3-ASR many times faster than Whisper large-v3-turbo, but no model heard “Vitest” correctly.
How to Install Hex: macOS, Windows, Linux
| Requirement | macOS | Windows | Linux |
|---|---|---|---|
| Status | Stable | Beta | Beta |
| CPU | Apple silicon | AVX2 (2013+) | AVX2 (2013+) |
| Operating system | macOS 15 or later | Windows 10 / 11 | X11 or wlroots-based Wayland |
| Audio | CoreAudio | WASAPI | ALSA / PipeWire |
On macOS, via Homebrew:
brew install --cask anomalyco/tap/hex
Or download the Apple silicon DMG from anoma.ly/hex, then grant Microphone and Accessibility permissions.
On Linux, use the install script:
curl -fsSL https://anoma.ly/hex/install-linux.sh | sh
On Arch: yay -S hex-bin. With Nix: nix profile add github:anomalyco/hex. There are also .deb and .rpm packages. Note: curl ... | sh runs a script straight from the network — download it and read it before running.
On Windows, download the x64 or ARM64 installer from anoma.ly/hex. The official documentation says the Windows build is Authenticode-signed via Azure Trusted Signing; SmartScreen may still warn on some builds.
On first run, open Hex, pick a speech model, and wait for the download — this step needs network. Then grant microphone and accessibility permissions.
This section was not tested hands-on by the author, only checked against the documentation:
hex --help
hex status
hex history --since 3d --json
To verify in practice: open a terminal running Claude Code or OpenCode, hold the shortcut, speak a short prompt, release, and confirm the text was pasted correctly into the focused window.
Common Errors and Fixes
Old CPU without AVX2: Hex shows a message and quits, with no workaround. Linux without a Vulkan driver: the Hex window does not open, even though inference itself could run on CPU. Wayland that is not wlroots-based: Hex supports X11 and wlroots-based Wayland. Paste not working in a terminal on Wayland: run hex dictation stop --print and type the output yourself.
Upgrading to v3.0 — a Breaking Change to Know in Advance
v3.0 is a fresh start, not an ordinary upgrade: it imports nothing from 2.x, version 2.3.1 does not auto-update to 3.0, the new app ID is anomaly.hex, and macOS permissions must be granted again.
Technical Review: Strengths, Weaknesses, Security, Operations
Strengths: ordinary dictation is genuinely local-first — no cloud, no account, no fee. One install command and it is ready to use.
Weaknesses: Windows and Linux are still beta. Apple silicon only on macOS; Intel Macs are excluded. The default model is English; Vietnamese support has not been verified. No published accuracy benchmark.
On security, Hex’s privacy boundary lies in the mode, not the product. Ordinary dictation runs entirely on the machine: audio is not stored by default, and history keeps only pasted text for 7 days.
The only exception is the rewrite feature via OpenCode. When enabled, Hex sends the transcript, along with the name of the focused app — and, for Brave, the hostname too — to the model provider you configured.
The second risk lies in the paste mechanism itself. Hex pastes into whatever app is focused. Pasting into the wrong window has exactly the same consequence as typing into the wrong window: a passage containing a secret or API key can land in a shared chat window or a terminal. There is no undo at the Hex layer — glance at the focused window before releasing the key, and never read a secret aloud through dictation.
On performance, the local model is about 160 MB instead of about 900 MB, according to the v3.0 release notes. An independent measurement by aiSIDaily (CPU-only, 3 runs, synthesized TTS prompts) recorded a one-shot CLI run using about 1.0 to 1.3 GB of peak memory.
Hex vs Handy vs Superwhisper — Which Tool to Choose?
| Criterion | Hex | Handy | Superwhisper |
|---|---|---|---|
| Price | Free | Free | Has a free plan |
| Speech processing | On-device | Offline | Offline |
| Platforms | macOS; Win/Linux beta | Win, macOS, Linux | macOS, Win, iOS, Android |
| How text reaches the app | Paste into the focused app | Paste into the focused app | Paste into the app |
| CLI / MCP / SDK | hex CLI, MCP, SDK | CLI beta + hooks | Pro plan has a CLI |
| Open source | MIT | MIT | No |
Handy was introduced on phamnam.me in Handy: free offline speech-to-text. Both share the same core mechanism — push-to-talk dictation that pastes into the focused app — but differ in extensions: Hex adds an MCP interface, a TypeScript SDK, OpenCode rewrite, and a three-model picker; Handy lets you choose Whisper or Parakeet and has a beta CLI (handy --toggle-transcription) with transcription hooks.
Superwhisper and Voxtype are commercial dictation options; Omarchy lists Hex alongside these two tools. The biggest difference of Hex is that it is open source, free, local-first, and has a CLI and MCP for automation.
When NOT to choose Hex: you need voice commands (removed in v3.0), bulk transcription of long files, a pre-2013 CPU or an Intel Mac, or verified multilingual dictation — especially Vietnamese, for which there is no reliable evidence yet.
Real Use Cases: Hex in AI, DevOps, and Homelab Workflows
The clearest use case is the AI workflow: open a terminal running Claude Code or OpenCode, hold the key, speak a refactor request as if pair-programming, release, check the text, then send it. Because Hex only transcribes verbatim, say identifier names clearly, and use the Vocabulary list for names it often mishears. Hex does not replace coding agents; it only replaces your keyboard. For DevOps and IT admins, speak incident details during an outage and paste them into a ticket or runbook — never read secrets aloud.
On a Linux homelab machine with no internet after the first install, Hex still dictates normally because the model is already local. Just check the Vulkan driver and wlroots compositor first.
Conclusion: Who Hex Fits, Who It Does Not, and the Next Step
Hex fits developers who use a coding agent daily; people who need local-first dictation on Mac or Linux; homelabbers and sysadmins who want voice input without a cloud; and people who like open-source tools. Hex does not fit people who need spoken commands, machines without AVX2 or Intel Macs, or people who need verified Vietnamese support. Next step: install Hex and try one real prompt in the coding agent you use every day.
Lessons Learned
- Local dictation is only truly local in plain dictation mode — enabling rewrite via OpenCode crosses the cloud boundary.
- Paste-into-any-app is both the strength and the risk: check the focused app before releasing the key — there is no undo at the Hex layer.
- v3.0 is a fresh start — upgrading to 3.0 means a new install, re-granted permissions, and a rebuilt configuration.
- On Linux, check the Vulkan driver and compositor before concluding the machine cannot run it.
- No published accuracy benchmark exists — evaluate Hex by trying it for real.
Verification Scope
Check date: 08/11/2026. Verified against the README, docs, and GitHub API: project name, repo, MIT license, 5,759 stars and 343 forks, v3.3.0 released 02/11/2026, install commands, beta status, AVX2 requirement, Linux details, Ctrl+Space on Windows, and the first-run model download. The default Parakeet model, 7-day history, and OpenCode rewrite were checked against the README and secondary sources, not the release notes.
Defaults: local transcription; rewrite via OpenCode is opt-in and sends the transcript to the cloud; 7-day history can be turned off. Figures are configuration or growth ranges, not benchmarks.
Not verified: the author did not install, run, or benchmark Hex; Vietnamese support has not been verified; it needs testing on a real machine.
References
- Hex on GitHub — official repo: https://github.com/anomalyco/hex
- Official download page: https://anoma.ly/hex
- Hex 3.3.0: https://github.com/anomalyco/hex/releases/tag/v3.3.0
- Hex 3.0.0: https://github.com/anomalyco/hex/releases/tag/v3.0.0
- Hex voice dictation — summary and independent Linux measurement: https://www.aisidaily.com/posts/hex-voice-dictation/
- Handy on phamnam.me: https://phamnam.me/posts/handy-speech-to-text-offline-mien-phi
Bình luận
Bình luận được duyệt trước khi hiển thị.Đang tải bình luận…
Để lại bình luận