Skip to content

Releases: getnsh/huh

huh? 0.3.1

Choose a tag to compare

@getnsh getnsh released this 24 Aug 02:46

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

Choose a tag to compare

@getnsh getnsh released this 23 Aug 23:05

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