Skip to content
AI SI Daily
中文

Search the site

↑↓ Select · Enter Open · Esc Close

○ Overview

Hex voice dictation: a free, local way to talk to your coding agent

Hex, Anomaly's free MIT-licensed dictation app with on-device speech recognition: install on Mac, Windows, Linux, alternatives compared, and a Linux engine test.

Liang Cui (滴滴点到)Tested: Debian 13 box, 8 vCPU Xeon with AVX2, 15 GB RAM, CPU only, no GUI (2026-11-01). macOS not tested.
This is an overview compiled from the official website, documentation and GitHub README. We have not tested it ourselves. Features and pricing are subject to the official pages; sources are listed at the end.

Hex is a free voice dictation app from Anomaly, the team behind opencode. You hold a key, talk, let go, and the text is pasted into whatever app has focus. Speech recognition runs on your own machine. It is MIT-licensed, the Mac build is the main target, and Windows and Linux builds are labeled beta.

It is for developers who write long prompts to coding agents and are tired of typing them. Our verdict is simple. If you are on an Apple silicon Mac and want local, free dictation, Hex is worth installing next to whatever agent you use. On Windows and Linux, treat it as a beta. We did not test the Mac app. We did run the Linux build’s transcription engine from the command line, and the results are below, labeled our measurements. Everything else is a project claim or a quote, with a link.

What Hex is

The README describes Hex as local-first voice dictation for Apple silicon Macs on macOS 15 or newer, with a Windows beta (x64 and ARM64) and a Linux beta (x86_64 on X11 and wlroots Wayland). The app is written in Rust. Speech recognition runs through transcribe.cpp, Anomaly’s own ggml-based engine, which its README says covers “16+ model families”.

The basic flow on a Mac:

  • Hold Option, speak, release. Hex pastes the text where your cursor is.
  • Double-tap Option to keep recording hands-free.
  • Option-Shift-V pastes the last dictation again.
  • A tap shorter than 300 ms records nothing, so a stray key press does no harm.

The README says ordinary dictation “does not require OpenCode or a cloud transcription service.” Model files download from huggingface.co the first time you pick a model.

Hex is young in its current form. The repo was created on July 17, 2026, but co-author Kit Langton says he “first made Hex 2 years ago, and the team has been using it for 10 months or so.” The original was a Swift app. v3.0.0 (October 31) starts fresh: it imports nothing from 2.x, and 2.3.1 does not auto-update to it. The current release is v3.1.1, published November 1. At the time of writing the repo has about 2.6k stars.

Why opencode is promoting it

opencode announced the stable release on October 31 at 23:39 (UTC+8). The post had about 7.2k likes and 705k views when we read it:

no matter what agent you’re using, your voice is the best way to talk to them and hex is the best way to use your voice: - fast - runs locally - works on mac, windows, linux

Dax, one of the authors, followed up two minutes later: “this is my most used app. more than opencode. using it with your agent is a gateway drug… that’s why hex is standalone, it works across your whole computer.” In another reply he wrote that “the moment i started using it in opencode i wanted to use it everywhere.”

The pitch, then, is agent-agnostic. Hex pastes into any focused text field, so it should work with opencode, Claude Code in a terminal, or Cursor’s chat box the same way it works in a text editor. The team’s posts only describe opencode use. Using it with Claude Code or Cursor is our suggestion, not something we or the authors have documented.

Dax also says that “hex was fully vibe coded. the app. the landing page. the animations. sound effects were ai generated. issues people open are fixed by opencode.” That is his description, and we can’t verify how much human review went in. The README does say outside pull requests aren’t accepted, and that the team credits your analysis in the fix instead.

Features that matter for AI coding

Transforms. Dax posted on October 30 (UTC+8) that “hex has transforms now so i can voice prompt and it’ll go in all lowercase so you can’t even tell that this was voice prompted,” and that you can write a custom function. In the repo these live in a hex.config.ts file. There is also an agent skill to set them up:

npx skills add anomalyco/hex --skill hex-personal-commands

Vocabulary. v3.0.0 added a Vocabulary list for names and terms the model gets wrong. Our test below shows why a developer would want it.

OpenCode rewrite. Hex can pass a transcript through a model via OpenCode to clean it up. Since v3.1.0, Hex only talks to an OpenCode instance that is already running and never starts one. This is the one feature that is not local. The README says it sends the transcript, the foreground app name, and, for Brave, the site hostname to whatever model provider you configured.

Annotate. Record your screen, draw on it, and narrate, then send the result to an OpenCode session. It is on the Dev channel, per the v3.0.0 notes.

CLI and MCP. v3.0.0 added a hex CLI. On a Mac you can search your dictation history, for example hex history --since 3d --app 'OpenCode Beta' --grep problems --json. Since app-v2.2.0, hex mcp serves recorded meeting transcripts to agents over MCP. Our Linux build describes it as read-only. Meetings are a macOS beta feature behind Labs.

Install

macOS (Apple silicon, macOS 15+). The Homebrew cask is at version 3.1.1 and requires arm64 and Sequoia:

brew install --cask anomalyco/tap/hex

After installing, grant Microphone and Accessibility. The README says Hex does not need Input Monitoring.

Windows 10/11 (beta): download the x64 or ARM64 installer. It is not code-signed yet, so SmartScreen may warn you. The default shortcut is Ctrl+Space.

Linux (beta, x86_64 Arch with glibc 2.44 or later):

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

The README notes this script currently installs the newest dev build. The Linux guide also lists .deb and .rpm packages, which need glibc 2.39 or later. On x86_64, Windows and Linux builds need a CPU with AVX2 (Intel Haswell, AMD Excavator, or later).

On Linux, Omarchy now offers Hex as a dictation option next to Superwhisper and Voxtype. DHH announced it on November 1 at 05:29 (UTC+8). The PR notes that terminals ignored Hex’s simulated Ctrl+V paste under wtype, so Omarchy calls hex dictation stop --print and types the text itself. If you dictate into a terminal agent on Wayland, check that paste works before you rely on it.

Which model to pick

Hex ships several models and marks a default per language in its model list:

Language Recommended Other picks
English Parakeet Unified English Cohere Transcribe (“Most accurate”)
Chinese Qwen3-ASR 0.6B SenseVoice Small (“Fastest”), Whisper large-v3-turbo (for Vocabulary)

Two speed claims come from the release notes. app-v2.3.0 says streaming means “a 2-minute dictation finishes in 0.1 s instead of 0.9 s on an RTX 5070 Ti and 2.8 s on a MacBook Air M4.” v3.0.0 says “local models use about 160 MB of memory instead of about 900 MB.” Both are project claims. Streaming needs Vulkan on Windows and Linux.

What we saw on Linux

We have not used Hex on a Mac. On November 1 we downloaded the Linux x64 binary (it reports hex 3.1.1) and used its hex model transcribe command, which runs a WAV file through an installed model without the GUI. The box was a Debian 13 VM with 8 vCPUs, 15 GB of RAM, and no GPU, so this is CPU-only and does not include streaming, hotkeys, or paste.

The test clips were one 11-second public sample (jfk.wav from whisper.cpp) and two 9-second coding prompts we generated with a text-to-speech voice. Synthetic speech is cleaner than a real person at a desk, so read these as a best case.

The English prompt was: “Refactor the useEffect hook in UserList.tsx so it cancels the fetch on unmount, then run pnpm test and fix any failing Vitest snapshots.”

Our measurements (wall time per run includes process start and model load; three runs each, all three runs produced the same text):

Model Clip Time per run Output errors
Parakeet Unified English jfk.wav 1.3 to 2.4 s none
Parakeet Unified English EN prompt 0.9 to 1.1 s “userlist.tsx”, “PNPM”, “VDIST” for Vitest
Whisper large-v3-turbo EN prompt 11.5 to 12.3 s “useEffectHookingUserList.tsx”, “VDIST”
Qwen3-ASR 0.6B EN prompt 2.2 to 2.8 s “use effect”, “onUnmount”, “vetest”
Qwen3-ASR 0.6B ZH prompt 3.0 to 4.1 s “user list”, “use effect” split into words
Whisper large-v3-turbo ZH prompt 11.4 to 13.7 s “Usefact”, “PMPM Test”, no punctuation

On this CPU, the recommended models were several times faster than Whisper and made fewer mistakes. None of them got “Vitest” right, and camel-case identifiers like UserList and useEffect often came out split or lowercased. That is what the Vocabulary list and transforms are for, and we did not test either. Peak memory of a one-shot CLI run, including model load, was about 1.0 to 1.3 GB. That is a different measurement from the 160 MB figure above, so don’t compare them directly. Model downloads were 731 MB (Parakeet), 850 MB (Qwen3-ASR), and 886 MB (Whisper). The exact commands and output are in our evidence notes.

Hex vs other dictation apps

Hex macOS Dictation Wispr Flow Superwhisper MacWhisper Handy
Price Free, MIT Built in Free plan; Pro $15/user/mo, or $12 billed annually (pricing) Free tier and Pro (site) One-time payment (store) Free, MIT (repo)
Where speech is processed On device On device when the Keyboard setting says so (Apple) “Transcription always occurs on the cloud” (data controls) Works offline, per its site “All transcription is done on your device” Offline
Platforms macOS; Windows and Linux beta macOS Mac, Windows, iOS, Android macOS, Windows, iOS, Android macOS 14+ Windows, macOS, Linux
Open source Yes No No No No Yes
Agent-related extras opencode rewrite, Annotate, CLI, MCP for meetings None n/a Markets use with Claude Code and Cursor Pro has a CLI for AI agents n/a

We did not confirm Superwhisper’s or MacWhisper’s current prices on an official page, so we left them out. Hex’s own co-author is friendly about the closest open-source rival: “Handy is great too! I prefer Hex for subtle reasons. They’re both free,” Kit Langton wrote.

Privacy

From the README: transcription is local and audio is not saved by default. History keeps text for 7 days by default and never stores audio, full URLs, or window titles. Local logs can contain transcript text and are not uploaded. Anything that goes through OpenCode is sent to the model provider you configured. Dictated text is marked as transient so clipboard managers can skip it (app-v2.2.0).

FAQ

Is Hex free? Yes. It is MIT-licensed, Kit Langton calls it free, and we found no paid tier on anoma.ly/hex.

Does Hex need opencode? No. Plain dictation works without it. opencode is only used for the optional rewrite and Annotate features, and only if it’s already running.

Does it work offline? Transcription runs locally. You need a network connection once to download a model from huggingface.co.

Can I use it with Claude Code or Cursor? Hex pastes into the focused app, so it should. We haven’t tested it, and the authors’ posts only mention opencode. On Wayland terminals, see the Omarchy note above.

Does it support Chinese? Yes. Qwen3-ASR 0.6B is the recommended Chinese model, and the interface has been available in Chinese since app-v2.3.0.

Does it run on Intel Macs? No. The Mac build requires Apple silicon and macOS 15 or newer.