TypeWhisper 1.8.1 is an update to the stable 1.8 macOS release. It adds the Language Detection plugin, a quick way to correct the last dictation, IBM's Granite Speech 5.0 models and the Local LLM (llama.cpp) plugin, and makes the built-in workflows follow your dictation more reliably. It is also the first update of the Mac App Store edition.
Highlights
- Language Detection (new plugin): when you select several spoken languages and the engine accepts only one, such as Parakeet, WhisperKit, Qwen3 or Groq, the plugin detects which of them you speak instead of always using the first one. It runs on your Mac in about 15 ms per transcription, and the audio never leaves it. Canary, Cohere Transcribe (Local) and Google Cloud STT cannot detect the language themselves; with the plugin they now work with Auto-detect all languages. Install it from Discover plugins; the Mac App Store edition includes it. Live previews still use the first selected language.
- Correct Last Dictation: a menu bar action and an assignable shortcut open a small editor with your latest dictation. Saving updates the History entry, copies the corrected text and learns a single replaced word for the Dictionary with the existing conservative rules.
- Toggle dictations can stop on their own after a chosen silence (Dictation > Toggle Mode, off by default, 3 seconds). They never stop before you start speaking.
- The dictation indicator can show the current model and switch it from a menu (Appearance > Left Side or Right Side > Model). A model chosen during a recording applies to the next dictation.
- LLM workflows can use the text of the front window as reference, for example to spell names as they appear on screen ("Use screen context", off by default, needs Screen Recording permission).
- The workflow editor shows Behavior and Trigger first and moves everything else into Advanced. A new Try It Out card runs the unsaved draft.
- Granite Speech adds IBM's Granite Speech 5.0 models. Granite 5.0 TurboCTC (470M, about 950 MB) is the new default: it transcribes English, French, German, Spanish, Portuguese, Italian and Japanese with punctuation and capitalization in a few milliseconds per sentence, but cannot translate or use dictionary terms. Granite 5.0 2B (about 4.6 GB) also writes punctuated text, translates into a target language you choose and uses your dictionary terms. If you already use a Granite 4.0 model, it stays selected.
- Local LLM (llama.cpp) (new plugin): runs GGUF models on your Mac with llama.cpp and Metal for workflows and prompts, without an API key. It offers the same Gemma 4, Qwen3.5 and LFM2.5 models as the Windows plugin, and you can add any single-file GGUF model from Hugging Face or import a
.gguffile. Install it from Discover plugins; it needs a Mac with Apple silicon. - Spanish is available as an app language.
Dictation
- English spoken punctuation accepts US terms ("exclamation point", "open square bracket", "close square bracket"), spoken quotes ("open quote", "close quote") and hashtags ("hashtag" becomes
#). - Normalize spoken numbers to digits supports Polish:
dziesięćbecomes 10,dwadzieścia trzy23 anddwa przecinek pięć2,5. Declined forms and a lonejedenstay as spoken. - With several spoken languages, a language without number parsing no longer lets a later language rewrite its words. With Polish listed before English, Polish
ten("this") andone("they") no longer become 10 and 1. - Inline Commands: a spoken instruction such as "translate this into English" now changes the output language instead of keeping the language of the dictation.
- Dictating into GNU Emacs, a remote desktop client such as Parsec, or a new message in Apple Mail no longer ends with "No text field detected". These apps either report only their window to Accessibility or do not show their text changing, so TypeWhisper no longer takes that as a missed text field. Web pages without a text field still get the warning.
- With Preserve clipboard content on, Telegram and other apps that report Accessibility writes as failed no longer receive a dictation twice.
- Chinese, Japanese and other languages written without spaces are counted by characters for the "Skip AI post-processing" word threshold, History and Statistics. Until now, Chinese dictations always skipped AI processing, no matter how long they were.
- The setup wizard recommends a local engine that supports your spoken language instead of always Parakeet.
- Pickers that fall back to the default engine name it and link to the Dictation page.
- Parakeet Vocabulary Boosting no longer replaces ordinary words with dictionary terms ("my grandpa" no longer becomes "my Grafana").
Workflows and language models
- The built-in workflow instructions follow your dictation more reliably on local and cloud models. Cleaned Text also removes filler words, stutters and repeated words, keeps only the final version when you correct yourself, and splits run-on speech into sentences. Translation drops filler words too. Email Reply writes directly to the person you name and ends with a closing instead of a placeholder. Meeting Notes stay in the language of the dictation and keep every date. A workflow's fine-tuning still takes priority.
- New installs get a Translate preset that reliably translates German text and a Draft Email preset that no longer invents details. Prompts you already have keep their text.
- An Always workflow can exclude apps and websites.
- History details show the LLM provider, model and the tokens the provider reported for each processed entry.
/v1/historyreturns them asllm_usage. - Local LLM (MLX) recommends a model for this Mac based on its memory, describes each Gemma 4 model and warns when a model needs more memory than the Mac has. Gemma 4 E4B (8-bit) is no longer experimental.
Recorder and meetings
- Settings > Recorder > Recordings Folder sets where new recordings are saved, for example a folder outside iCloud Drive. If the folder is unavailable, a recording goes to the default folder and the Recorder says so.
- After Stop, the recording is transcribed in the background, so the next recording can start right away.
- Meeting automation detects Google Meet calls at
meet.google.com/meet/<code>addresses again. - Meeting automation can run without countdowns and the indicator ("Show countdowns and indicator for meeting recordings").
- Deleting a recording asks first and moves the audio and its sidecar files to the Trash instead of deleting them for good.
- Translate is offered only for models that can translate. A Translate choice made for an earlier model no longer makes every file fail after you switch to a model that cannot translate.
- Granite's Translate lets you choose the target language in the Recorder, file transcription and dictation recovery: English, French, German, Spanish, Portuguese, Japanese, Italian or Chinese. English is the default. Until now Granite translated into the selected spoken language.
- Obsidian 1.2.0 can export Recorder transcripts as notes (Auto-Export > Recorder transcripts, off by default).
- Recorder completions for webhooks, Script Runner and
GET /v1/recorder/recordingsinclude speakers, the recording time, the duration and the calendar event. - Speaker detection keeps your own speech that the microphone detection missed with "Me". When you rename your microphone speaker, later recordings use that name. Recordings transcribed with engines that return no timestamps, such as Qwen3, get speakers through a Parakeet timing pass.
Dictionary
- Import your own term packs from a JSON file in the community pack format under Dictionary > Term Packs > Local Packs, turn them on and off like the other packs, and export them for another Mac. Local packs stay on this Mac: TypeWhisper does not review, sync or update them.
Plugins and SDK
- New: Language Detection 1.0.0 and Local LLM (llama.cpp) 1.0.0.
- Parakeet 1.6.1: using another Parakeet model for a single transcription, as the local API's
model, the CLI's--modelor a workflow with its own Parakeet model do, now waits for that model to load. Until now it failed with "Cloud provider not configured. Please set an API key." Nemotron 3.5 ASR Streaming no longer drops the first and last words of files and other recordings it transcribes after they end. - Granite Speech 1.2.0 (see Highlights). Translation also works while dictionary terms are active; the terms are now passed as keywords after the instruction, as the model expects. The local API's
target_languagewithtask=translategoes straight to Granite when it supports that language. - Canary 1.1.1 and Cohere Transcribe (Local) 1.1.0 no longer stop with an error under Auto-detect all languages when nothing picks the language. They use the first of your preferred languages in System Settings > General > Language & Region that they support. Google Cloud STT 1.1.1 keeps using its default language code in that case.
- Canary 1.1.1, Qwen3 1.1.15, Voxtral 1.0.20 and Local LLM (MLX) 1.0.7: each of these plugins brings its own copy of Apple's MLX framework. With several of them enabled, one plugin could run code from another plugin's copy, which can crash TypeWhisper during a transcription or text processing. Each plugin now uses only its own copy, as Granite Speech already does.
- R2T2 offers only the own-server mode on Intel Macs, where the built-in server cannot run.
- MCP Client: an action run right after saving a server keeps its connection, and cancelling during a connection is reported as cancellation.
- Plugin SDK: optional LLM usage reporting (
PluginLLMUsageReporting), spoken language identification providers (SpokenLanguageIdentificationProviderPlugin) and engines that leave language detection to the host (HostLanguageDetectionEnginePlugin). Engines can report translation support, translation target languages and dictionary term support per model (supportsTranslationForModelId:,translationTargetLanguagesForModelId:,supportsDictionaryTermsForModelId:).
Mac App Store edition
- GigaAM (local Russian dictation) and Language Detection are included.
- The Premium page offers Connect Existing TypeWhisper License for customers who bought a license outside the App Store.
- The edition keeps access to a chosen Recordings Folder after a restart.
Fixes
- Closing the last window no longer quits TypeWhisper on macOS 15; the app keeps running in the menu bar.
- Pair Device stays available after launch when paired devices are allowed.
- The German interface translates the API token setting and the Script Runner rules.
Compatibility and distribution
- Requires macOS 14.0 or later and supports Apple silicon and Intel Macs.
- Every direct download release includes the iCloud bridge. The Mac App Store edition ships 1.8.1 from the same commit.
- Parakeet 1.6.1, Canary 1.1.1, Language Detection 1.0.0, Cohere Transcribe (Local) 1.1.0 and Google Cloud STT 1.1.1 require TypeWhisper 1.8.1. Granite Speech 1.2.0, Qwen3 1.1.15, Voxtral 1.0.20, Local LLM (MLX) 1.0.7 and Local LLM (llama.cpp) 1.0.0 also run on TypeWhisper 1.8.0; the target language choice for Granite needs 1.8.1.
- Built with Xcode 27.1.