TypeWhisper 1.7.0 is the stable 1.7 macOS release. History and Inbox now sync through iCloud, shortcuts are set on a visual keyboard, and the last dictation can be undone.
Highlights
- History and Inbox sync through iCloud. The redesigned History groups entries by device and can be filtered and searched.
- Shortcuts are configured on a visual Mac keyboard. Key labels follow the active macOS input source, and the editor shows conflicts and unavailable keys.
- The dictation indicator comes in Classic, Glass, and Light, with a live preview on the new Appearance settings page.
- Undo Last Dictation and Restore Raw Transcript are available in the menu bar and as global hotkeys. Both replace the inserted text directly and leave the clipboard untouched. If the target field or caret has changed, TypeWhisper declines and says so.
- Dictation Recovery keeps the last three successful dictations for up to 24 hours, so an incomplete provider response can be retried even when it looked successful. The Immediately retention setting turns this off.
- Files can be transcribed from Finder, and the optional Web Link plugin transcribes web media.
- Local plugins can import compatible speech models from a Hugging Face repository or a local folder. The new Canary ASR plugin is one of them.
Dictation and shortcuts
- New ways to finish a dictation: spoken submit, submit with Enter for a single dictation, Inline Commands, and an action that pastes the last transcription.
- Cancellation can be set to double Escape, single Escape, immediate, or disabled.
- Escape used to cancel a dictation no longer reaches the target app. After cancellation it works normally again.
- Fixed layout crashes in the notch indicator, the command palette, Settings, and the recent-transcriptions menu. The Overlay and Minimal indicators now use the notch indicator's safeguard.
- Fixed lost Stop hotkeys. Modifier-only shortcuts recover after event-monitor interruptions without swallowing the next Stop press.
- Automatic Fallback has an opt-in hedge: if the primary engine has not answered within a configurable threshold, the same audio also goes to the recovery engine and the first result wins. A dispatched race costs one extra API call.
- The final-transcription phase has a deadline, and dictation starts when the recovery engine is the only ready engine.
- When dictation cannot start, TypeWhisper explains why and links to the fix.
- Dictation stays pinned to the field where the recording started. TypeWhisper restores the original app and field for the final insertion and falls back to Recent Transcriptions when it cannot.
- When a failed dictation's recording was saved, the indicator says so and offers Open Recovery.
- Short, quiet dictations are transcribed in aggressive mode.
- Media is paused before Bluetooth capture starts, and the Bluetooth input is released before media resumes.
- The opt-in input preparation now covers all Bluetooth microphones and reuses the running stream between dictations, which shortens recording startup.
- Fixed external headset microphones being treated as the unavailable internal microphone in clamshell mode.
- Fixed dictation insertion in Thunderbird.
- The setup wizard distinguishes selected, installed, loaded, and tested models. Setup completes only when the current engine can transcribe and both permissions are granted. Incomplete setup offers Finish Later.
Text handling and workflows
- Number formatting offers Always, 10 and above (the default), and 100 and above under Settings → Dictation → Output Formatting. Smaller spoken whole numbers and ordinals keep their wording; decimals and recognized digit sequences still become digits. The threshold also applies when a workflow enables number normalization, and settings backups preserve it.
- Dictionary corrections apply before workflow LLM processing, and workflows share vocabulary. Long dictations can be processed in segments.
- Vocabulary can be imported from Wispr Flow, Handy, and compatible CSV files. Unsupported formats are reported as such.
- Snippet triggers require word boundaries.
- German clock times are written with a colon, and English month and day phrases are normalized. Fixed the final-period cleanup for standalone dictated values.
- Auto-submit is skipped when raw text is inserted after an LLM failure.
- When LLM post-processing fails, the raw transcription is inserted with a short notice instead of being discarded.
- An empty LLM result that two or more providers return independently is treated as intentional, not as a failure.
- Correction learning works in Electron and Chromium apps.
History, data, and administration
- Windows dictation and Recorder entries appear as their own History sources.
- Recorder rows have a copy-transcript action, and recent transcriptions sit in a workflow palette submenu.
- All app data can be exported or deleted in Advanced settings.
typewhisper exportandtypewhisper importmove a settings backup from the command line, with matching endpoints in the local API.- History loads in pages with endless scrolling instead of reading the whole archive at launch.
- Fixed a finalization race in the Recorder preview and incomplete WhisperKit transcripts of Recorder sessions.
- Mac users see a pointer to the iPhone and iPad app once. It can be opened again from Settings.
- Administrators can provision
ManagedLicenseKeythrough a macOS configuration profile or user-context script. TypeWhisper activates it automatically, reuses the activation across launches, and shows organization-managed licensing controls. See the MDM deployment guide. - Final-transcription diagnostics include audio duration, word counts, and segment timing. They do not log audio, prompt contents, or transcript text.
- Settings use the native macOS sidebar.
Models and integrations
- Groq no longer sends dictionary terms by default. In tests with German dictations, the term list made Whisper Large V3 skip most of some dictations, while the same audio without terms came back complete. Settings you changed yourself are kept, and dictionary corrections after transcription still apply. You can turn terms back on under Groq → Send dictionary terms. A prompt sent through the HTTP API still reaches Groq when terms are off.
- On HTTP 429, OpenAI, Cohere, and plugins built on the OpenAI-compatible helpers show the provider's own message when the response contains one. Otherwise they show a generic message that names both quota and rate limits. The dictation indicator shows long error messages in full.
- The new Vercel AI Gateway plugin covers transcription and LLM processing with one API key.
- OpenAI-Compatible profiles discover Ollama models natively.
- The Gemma 4 plugin is now called Local LLM and has a new plugin ID. It gains Qwen3.5 and LFM2.5 models.
- Confucius4-R2T2 is available as a community transcription plugin.
- New plugins for Meta (Muse Voice Transcribe and Muse Spark) and Microsoft MAI Transcribe.
- Gemini adds the Gemini 3.5 Transcribe models. ElevenLabs gets settings for clean transcripts, audio-event tagging, speaker count, and dictionary keyterms. OpenAI offers only the reasoning effort levels that the selected model supports. The authenticated CLI plugin adds the free OpenCode Zen models.
- Local models of engines that are not selected are no longer restored at launch.
- Plugin HTTP requests retry transient upstream failures such as HTTP 503.
- The Parakeet plugin adds the Parakeet Ultra model. Soniox gets a free-text Transcription Context setting that is sent along with the dictionary terms.
- Parakeet no longer overcorrects with unrelated dictionary terms.
- Discover can be filtered by Local or Cloud, and TypeWhisper checks free disk space before downloading a local model.
- Plugins can provide their own pages and use authenticated command-line tools as providers.
- Parakeet restores after an automatic model unload. Deepgram Nova-3 languages no longer fall back to auto detection. An edited OpenAI API key replaces the stored one. Soniox realtime dictation stays fast without a visible preview and keeps its live transcript continuous. Fixed Deepgram live dictation streaming, a hang when uninstalling plugins, and the first Cohere model download. OpenRouter retries long audio as chunks.
- Fixed HTTP API target-language translation and session ownership.
Performance
- TypeWhisper does less work during startup, History rendering and sync, statistics updates, sound playback, and between stop and text insertion.
- The audio input callback is realtime-safe.
Compatibility and distribution
- Requires macOS 14.0 or later and supports Apple silicon and Intel Macs.
- Every release includes the iCloud bridge.
- New plugin releases from the 1.7 source line require TypeWhisper 1.7.0 or later. Existing compatible plugin releases remain available to 1.6 hosts. This app release does not republish plugins.
- Stable
1.7.0builds use the default Sparkle channel; release candidates and daily builds remain on their preview channels. - Simplified Chinese wording was revised.
- Built with Xcode 26.6 and Swift 6.3, with updated Swift dependencies.
Release validation is tracked in the TypeWhisper 1.7.0 checklist.