Core loop
Speak without slowing down.
Hold a key, speak, release. Foil puts fast, direct transcripts into the app where you were working.
macOS dictation built for AI-first work - fast, direct prompts for agents and polished text for humans. Run local models or connect to a transcription API.
macOS 14+ · Apple Silicon and Intel
Capture intent at the speed you think, then use Cleanup Groups to decide how much polish each app needs.
Core loop
Hold a key, speak, release. Foil puts fast, direct transcripts into the app where you were working.
Local whisper.cpp, Groq, OpenAI Whisper, or custom OpenAI-compatible transcription.
Assign agent apps to raw transcription. Give messaging, email, and document apps their own cleanup, tone, and vocabulary.
Auto-paste, clipboard fallback, Paste Last, retry, copy, edit, export, and delete.
Local words, sessions, time saved, daily trends, and top apps without transcript analytics.
Visible recording, transcription, cleanup, and paste states while focus stays in your app.
Keychain keys, local history controls, redacted diagnostics, and explicit provider routes.
Choose where audio and cleanup run, with separate routes for each.
Transcribe through a localhost OpenAI-compatible server.
Fast hosted transcription with your Groq API key.
Use OpenAI Whisper with your OpenAI API key.
Point Foil at your own compatible endpoint and model.
Set agent apps to stay raw and direct. Route human-facing apps through the cleanup provider you choose.
Short answers to the setup, provider, and reliability questions that usually matter before trying Foil.
Homebrew is the primary install path. Run brew tap mean-weasel/foil https://github.com/mean-weasel/homebrew-foil, then brew install --cask foil. The cask installs Foil 1.13.13 from the signed, notarized, Sparkle update-signed macOS DMG published on GitHub Releases.
Prefer a manual DMG? Use the latest GitHub Release, or view all releases. SHA-256: 33f682b4...51d2e79.
Yes. Start with a local whisper.cpp server on localhost, then select Local whisper.cpp in Transcription settings. Foil also supports custom OpenAI-compatible transcription endpoints.
Not for the local whisper.cpp route. Groq Whisper and OpenAI Whisper require their own API keys, and custom endpoints only need a key when your server requires one.
Cleanup is optional and group-based. It can use Groq, OpenAI, or a custom OpenAI-compatible chat endpoint, and transcript text goes only to the cleanup provider selected for the matching group.
Cleanup Groups let you assign different transcript behavior by app. Keep agent apps fast and direct with raw transcription, then use cleanup, tone, vocabulary corrections, and preferred terms for human-facing apps.
Transcription history stays on this Mac and can be limited or turned off. Successful audio files are deleted after transcription; failed audio may be retained locally only for retryable failures.
No. Insights is local usage metadata for words, sessions, trends, and top apps. It is separate from transcript text and can be deleted from the app.
Paste automation depends on Accessibility permission and target-app behavior. Foil keeps History and clipboard fallback paths available so you can recover the transcript.