Releases: getnsh/huh
Release list
huh? 0.3.1
A security release. Everything runs on your Mac, as before; the only behaviour you will notice is a refusal.
Verify what you downloaded
shasum -a 256 huh-0.3.1.zip
f7dce38a2ee2884907fe38e7ea37dfc1309940e76de8aac847e0d45c2061f48e
Do this before the xattr step below, and stop if it does not match. Clearing quarantine is the point at which macOS stops asking questions about an unverified binary, and this application then asks for your microphone and for permission to type into every window you have open. The same digest is attached as SHASUMS.txt; shasum -a 256 -c SHASUMS.txt checks it for you.
This build is signed on the machine that produced it, not notarised by Apple — the project has no Developer Program membership yet. Until it does, this checksum takes the place of Gatekeeper's check. It makes a swapped download detectable; it cannot prevent one.
Install
unzip huh-0.3.1.zip
xattr -cr "huh-0.3.1/huh?.app"
mv "huh-0.3.1/huh?.app" /Applications/
Grant Microphone and Accessibility on first launch. Accessibility must be enabled by hand in System Settings, Privacy and Security.
uninstall.sh is included. Run it bare to remove the app and keep your data, or with --all to delete transcripts and dictionaries as well.
What changed
Dictation is refused when a password field has focus, or when any application has engaged secure input. A macOS password field reports the same accessibility role as an ordinary text field and is distinguished only by its subrole, which nothing checked — and when insertion failed, the fallback wrote the spoken text to the system pasteboard first.
Transcripts no longer reach your other devices. Pasteboard writes are now confined to the local machine. The marker used previously is a convention third-party clipboard managers honour; macOS does not consult it, and Universal Clipboard was carrying dictated sentences to other devices.
Three stores could overwrite a file they had failed to read. A single damaged byte in decisions.json would have emptied the record of every review question you have ever answered and then written that emptiness to disk. dictionary.json and people.json had the same shape.
Clearing history now clears the salvaged copy of it. history.corrupt.json is a complete copy of your transcripts, and nothing removed it — so deleting them left them on disk under a name nobody looks for.
Data races between the audio thread and the main thread in the capture path and the default speech engine, which could crash the app when an utterance ended.
The summary model is pinned to an exact revision instead of tracking a branch, so the weights that read your meetings cannot be substituted upstream.
Full detail in CHANGELOG.md.
Requirements
macOS 26 or later, Apple silicon. Summaries and name detection use Apple on-device intelligence; without it everything else still works.
huh? 0.3.0
Push-to-talk dictation and meeting transcription for macOS. Everything runs on your Mac.
Verify what you downloaded
shasum -a 256 huh-0.3.0.zip
a5d8605c9d11638ff593ca1b6648ac1b62cdaa14a162f12cc68bbc28b634f225
Do this before the xattr step below, and stop if it does not match. Clearing quarantine is the point at which macOS stops asking questions about an unverified binary, and this application then asks for your microphone and for permission to type into every window you have open. The same digest is attached as SHASUMS.txt; shasum -a 256 -c SHASUMS.txt checks it for you.
This build is signed on the machine that produced it, not notarised by Apple — the project has no Developer Program membership yet. Until it does, this checksum is what takes the place of Gatekeeper's check. It makes a swapped download detectable; it cannot prevent one.
Install
unzip huh-0.3.0.zip
xattr -cr "huh-0.3.0/huh?.app"
mv "huh-0.3.0/huh?.app" /Applications/
Grant Microphone and Accessibility on first launch. Accessibility must be enabled by hand in System Settings, Privacy and Security.
uninstall.sh is included. Run it bare to remove the app and keep your data, or with --all to delete transcripts and dictionaries as well.
Requirements
macOS 26 or later, Apple silicon. Summaries and name detection use Apple on-device intelligence; without it everything else still works.
In this release
- Optional Qwen3 4B summary model, downloaded on request, which reads a whole meeting in one pass instead of in pieces
- A prompt when a meeting is longer than the built-in model can read, offering the local model, a hand-off to ChatGPT or Claude, or carrying on regardless
- People are kept separately from the dictionary, and no word is ever proposed for review twice
- Transcript question-and-answer removed
- Security and privacy fixes, including clipboard restoration and history corruption handling