- Apple Silicon Mac
- macOS with Microphone and Accessibility permission
- Enough free disk space for the app plus local models
Recommended setup
Copy this into Terminal:
After it finishes:
- Double-tap Right Option.
- Speak.
- Tap Right Option again, or press Space, to stop.
- The text is copied to the clipboard by default.
Manual Homebrew setup
Use this path when you already have Homebrew and prefer to see each command:brew install gabrimatic/local-whisper/local-whisper installs from the Local Whisper tap directly. Homebrew adds the tap automatically.
wh setup finishes the app setup: config, default model, macOS permissions, and the background service.
Other managed MLX speech models download when selected in Settings -> Transcription. The model card shows downloaded, partial, or missing cache state, streams download progress inline, and lets you cancel before the current engine is unloaded.
macOS permissions
Local Whisper needs two permissions:
macOS may list the app as Python in permission screens. That is expected because the background service runs through Local Whisper’s packaged Python runtime.
The onboarding window and Settings -> Advanced -> Permissions both send the macOS permission request. If a permission was previously denied and macOS will not show the dialog again, Local Whisper opens the matching System Settings page.
If setup finishes with permissions pending, open:
Source setup
Use source setup when you want to develop Local Whisper or test unreleased changes:.venv, builds the Swift menu bar app, configures a LaunchAgent, and adds the wh alias to your shell profile.
Updates
Homebrew installs:wh update refreshes the install, prepares the active model, rebuilds the menu bar app when needed, and restarts the background service. The menu bar “Check for updates…” action uses the same update path.
Service controls
Local Whisper runs as one background service:wh doctor any time you want a health check.
Uninstall
Homebrew installs:wh uninstall removes the background service, config, logs, cached models, and shell alias.