Start with your desktop and where text can go
HEX transcribes speech locally, but optional rewriting sends text and application context to a model provider. That distinction matters if you are choosing it for private dictation.
The README describes a main Mac release for Apple silicon and macOS 15 or newer, plus Windows and Linux betas with separate requirements. Hold a shortcut, speak, and release to transcribe and paste into the active app. Our source run stopped before that workflow, so this review can explain the documented requirements and the build failure, but cannot judge recognition quality.
What happened when we ran it
Our sandbox installed HEX commit c67b32e in 39 seconds on October 23, 2026, recording 387 dependencies. The build failed with exit 101 after 126 seconds. The test command failed with exit 101 after 7 seconds. The recorded configuration assigned 3 CPUs and 12 GB of RAM and used the image label lab-rust:1. That label does not establish the actual Rust toolchain or operating-system version.
Both supplied log tails report: Could NOT find Vulkan (missing: glslc) (found version "1.3.239"). CMake failed during ggml Vulkan configuration, and the Rust build script then panicked. The log identifies glslc as missing from CMake's discovery. It does not show that Vulkan was entirely absent or that the graphics hardware was unsuitable.
The test command hit the same configuration failure. There is no passing test count or speech-recognition result in the supplied output. Review the documented native dependencies and rerun configuration before investigating later stages; fixing this error would not establish that every remaining requirement has been met.
The checkout occupied 27.3 MB and contained 757 files and about 122,945 source lines. The scan found 11 CI workflow files and a tests directory. These are repository observations, not evidence of passing tests. We measured neither transcription accuracy nor insertion reliability.
Mac setup includes permissions and model access
The README assigns a separate job to each Mac permission: Microphone captures speech, Input Monitoring detects the global shortcut, and Accessibility allows pasting into the foreground app. Setup also downloads a local transcription model. Ordinary dictation does not require OpenCode or a cloud transcription service.
If recording works but text does not paste, the troubleshooting table points to Accessibility access. Permission changes may require quitting and reopening HEX. Test the recognized text and its destination in your actual editor or messaging app before depending on the workflow.
App delivery and model preparation also use separate network paths. The README lists anoma.ly for downloads and updates, Hugging Face hosts for speech models, and download.moonshine.ai for the optional command model. Downloading the app successfully does not establish that model preparation will work on a managed network.
The README identifies an alternative signed Mac DMG as Hex 2.3.1. It also distinguishes app releases, which use app-v tags, from separate TypeScript SDK releases. That named download is release evidence in the documentation, not the version of a packaged app tested here. The measured source checkout remains commit c67b32e.
Linux shortcuts and pasting have different requirements
The Linux guide targets x86_64 systems on i3/X11 and compatible wlroots compositors such as Sway or Hyprland. GNOME and KDE are outside its current clipboard, virtual-keyboard, and overlay protocol contract. A desktop may provide shortcuts through the GlobalShortcuts portal without satisfying those other requirements.
The window needs a Vulkan driver even when inference falls back to the CPU. The guide explicitly says the Vulkan loader alone is not a driver. This runtime requirement is separate from the missing-glslc configuration error in our source run.
The published Linux build also targets current x86_64 Arch Linux with glibc 2.44 or later. That is a narrower installation target than a general promise of Linux compatibility. Check both the distribution requirements and the desktop protocols before downloading it.
There are further integration limits worth testing. The guide says new installations insert through the clipboard and Ctrl-V, with a setting for targets that need Ctrl-Shift-V. The target application must accept the selected binding. The beta leaves the transcript on the clipboard and does not restore arbitrary previous clipboard formats. These are documented behaviors, not observations from our sandbox.
Windows and Linux users should also check feature coverage: the README excludes voice commands and meetings from both betas. The Linux guide says its signed update path still awaits complete cross-version validation on the supported Arch/i3 host. Implemented update machinery should not be read as a completed validation result.
Local recognition still needs a retention decision
The README says speech transcription and command recognition run locally and dictation audio is not saved by default. It also says History retains successfully pasted dictation and Voice Action text for seven days by default. Turning retention off stops new entries without deleting existing entries or disabling diagnostic logging.
Local diagnostic logs can contain transcript text, recognized command speech, foreground application names, and Brave URLs. The README says HEX does not upload those logs. Review and redact them before sharing diagnostics.
OpenCode post-processing sends the transcript, foreground application, and Brave website hostname to the configured model provider. Voice Action can also send selected text when Accessibility makes it available. Decide whether those transfers are acceptable before enabling the features. If rewriting fails and HEX keeps the corrected local transcript, that fallback does not establish that no provider request was made.
Compare an app with an app, or choose an engine
Handy's README documents local shortcut dictation on Windows, macOS, and Linux. It is a relevant alternative when the job is speaking into an existing text field. Its Linux notes also describe limited Wayland support and input-tool requirements. Compare the documented route for your desktop and test your target applications; our HEX run supplies no evidence that Handy is easier to set up or more accurate.
Whisper.cpp documents a C/C++ implementation of Whisper and a C-style API. It is relevant when you want to embed transcription and own the recording and insertion workflow. HEX documents a desktop app and a TypeScript SDK, but its README warns that the SDK does not yet ship a bundled native helper. Installing that package alone does not provide a complete native distribution.
Check shortcut behavior during a real trial
The supplied issue 195 records a user report opened on October 22, 2026: Left Option+Shift stopped responding after a few minutes on an M3 Mac using HEX-2.3.1-arm64.dmg. The supplied page shows the issue open. This is an attributed report, not a reproduced defect or a measured failure rate.
For a packaged-app trial, check that recording, cancellation, and paste continue working after ordinary app switching. Keep provider-backed rewriting off until you have decided whether its documented data transfer fits your work.

