Speak naturally, type perfectly.
A native macOS push-to-talk dictation app — hold a key, speak, and your words are transcribed, cleaned up, and pasted into any app. All running locally on your Mac.
Download • Website • Install • Build
- Hold your trigger key (default: Right Option) and speak
- WhisperKit transcribes your speech on-device
- Ollama (optional) improves the text — fixing grammar, punctuation, and formatting
- The result is pasted into whatever app you're using
Everything runs locally. No cloud services, no subscriptions, no data leaves your Mac.
Parrote works without Ollama — you'll get raw Whisper transcriptions. Install Ollama to get polished output.
- Push-to-talk — hold a key to record, release to transcribe
- 100% local — WhisperKit for STT, Ollama for text cleanup, nothing leaves your machine
- Works everywhere — result is pasted into any app via clipboard
- Menu bar app — lives in your menu bar, out of the way
- Customizable hotkey — Right Option, Caps Lock, Fn, or any key you prefer
- Dictation history — searchable history with copy, re-process, and audio playback
- Microphone selection — pick any input device from the menu bar
- Optional LLM cleanup — Ollama improves transcriptions; works without it too
- Recording indicator — floating panel shows recording state with cancel/confirm controls
- macOS 14.0 (Sonoma) or later
- ~1.5 GB disk space for the Whisper model (downloaded on first launch)
- (Optional) Ollama — for LLM-powered text improvement
Download Parrote.zip from the latest release, unzip, and drag to /Applications.
Since Parrote is not notarized, macOS will block it on first launch. To open it:
- Right-click (or Control-click)
Parrote.appand select Open - Click Open in the dialog that appears
- Alternatively, run in Terminal:
xattr -cr /Applications/Parrote.app
You only need to do this once.
The onboarding flow will guide you through granting:
- Accessibility — needed for global hotkey detection
- Microphone — needed for recording your voice
Parrote works out of the box with raw Whisper transcriptions. For cleaner results (better grammar, punctuation, formatting), install Ollama and pull a model:
ollama serve
ollama pull gemma3:12bYou can toggle this on/off in Settings > LLM > "Skip text processing".
| Action | Default Key |
|---|---|
| Hold to record, release to stop | Right Option |
| Press to start, press to stop | Caps Lock (if configured) |
- Look for the waveform icon in the menu bar
- Open Parrote Home from the menu bar for settings, stats, and history
- Configure your trigger key, LLM model, and system prompt in settings
- Select your preferred microphone from the menu bar
Requires Xcode 16+ and XcodeGen.
# Install XcodeGen
brew install xcodegen
# Clone and generate project
git clone https://github.com/shubham-web/parrote.git
cd parrote
xcodegen generate
# Build
xcodebuild -project Parrote.xcodeproj -scheme Parrote -configuration Debug build \
-derivedDataPath /tmp/ParroteDerivedData \
BUILD_DIR=/tmp/ParroteDerivedData/Build/Products
# The built app is at:
# /tmp/ParroteDerivedData/Build/Products/Debug/Parrote.app| Component | Technology |
|---|---|
| UI | SwiftUI + AppKit hybrid |
| Global Hotkeys | CGEventTap |
| Audio Recording | AVAudioEngine |
| Speech-to-Text | WhisperKit (on-device) |
| Text Cleanup | Ollama (local LLM) |
| Persistence | JSON + FileManager |
Contributions are welcome! Feel free to open issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes
- Push to the branch
- Open a Pull Request
MIT © 2026 Shubham