Three features in Vehla do something to text without you opening a chat window. They look similar in a feature list and they are not interchangeable in use. This is the distinction, and the setup for each.
The switching cost
The reason any of these exist: the round trip to a chatbot is not one action, it is six. Select, copy, switch app, paste, prompt, wait, copy the result, switch back, select the old text, paste over it. Each step is trivial and the sum of them is enough friction that you stop bothering for small edits — which is where most of the value would have been.
All three surfaces below are attempts to collapse those six steps into one or two. They differ in what triggers them and where the result lands.
QuickGlass — the selection bar
Trigger: you select text. A floating action bar appears above the selection.
This is the discovery surface. It is for the moment when you have highlighted something and are not yet sure what you want to do with it — copy it, hear it read aloud, translate it, get a summary, ask a question about it. You configure which actions appear and in what order, so the bar becomes a short personal menu rather than a toolbar.
Three settings matter more than the rest. Output behavior: replace the selection, show a compact result, or open the full palette — the compact result is the right default, because a bar that silently overwrites your text is alarming. Require-Command: if you write code or work in a spreadsheet, having a bar appear on every drag-select is maddening, and gating it behind holding Command fixes it entirely. And excluded apps, for the one or two places you never want it.
Magic Rewrite — replacement in place
Trigger: a hotkey, on text you have focused. The text changes where it sits.
This is the opposite intent from QuickGlass. You know exactly what you want, you do not want a menu, and you do not want to read a result panel and decide. You want the paragraph to be tighter and then to keep typing.
There are eleven built-in tones — Professional, Regular Joe, Friendly, Concise, Confident, Casual, Executive, Funny, Gen Z, Technical, Customer Support — plus custom tone prompts you write yourself. In practice almost nobody uses more than two. The configuration that matters is picking your one default tone and binding it to a hotkey, with a second hotkey for "Magic Rewrite with Tone" when you want to choose.
Because it replaces text in the front app, this is the surface most dependent on Accessibility permission, and the one most likely to behave oddly in an app with an unusual text engine.
Flow — dictation into the focused field
Trigger: hold Fn, speak, release. The transcription is inserted where your cursor is.
Flow solves a different problem: not editing existing text but producing text faster than typing. It is push-to-talk rather than always-listening, which is both a privacy property and a usability one — nothing is recorded between key presses.
The speech model is a real choice. NVIDIA Parakeet, NVIDIA Nemotron, Apple Speech, Apple Speech Analyzer, and several Whisper sizes are available, all downloaded and run locally. Bigger Whisper models are more accurate and slower; the smaller ones are fast enough that the transcription appears essentially as you release the key. For short messages, fast beats accurate — you will notice a two-second wait far more than a wrong comma. The broader local AI guide separates every on-device action from the features that need a network.
The unexpected use case, from our own logs and from user email: commit messages and Slack replies, not long-form writing. Speaking two sentences is faster than typing them. Speaking two hundred is not better than writing them.
Which one, when
| THE TEXT IS | YOU WANT TO | USE |
|---|---|---|
| Someone else's | Understand it | QuickGlass |
| Yours, already written | Improve it silently | Magic Rewrite |
| Not written yet | Produce it fast | Flow |
| Long, or needs sources | Work on it properly | The palette |
A useful rule: if you would want to read the answer before accepting it, you want QuickGlass or the palette. If you would accept it unread, you want Magic Rewrite.
Permissions, plainly
All three need macOS permissions, and it is worth knowing which does what rather than clicking through the prompts.
Every one is revocable in System Settings, and each is requested only when you first use the feature that needs it. Local speech models mean granting Microphone does not mean anything leaves the Mac — the detail is in What actually stays on the device.
When it breaks
If you want to see which of these actually get used day to day, the log is in A week of ⌥Space.
Common questions
What is the difference between QuickGlass and Magic Rewrite?
QuickGlass is triggered by selecting text and offers a menu for understanding text someone else wrote. Magic Rewrite is triggered by a hotkey and replaces your own text in place, with no menu and no result panel. If you would want to read the answer before accepting it, use QuickGlass; if you would accept it unread, use Magic Rewrite.
What permissions do the text actions need?
Accessibility to read the selection and replace text in place, Input Monitoring for global hotkeys and Flow's push-to-talk key, and Microphone for Flow only. Each is requested on first use and revocable in System Settings.
Why is QuickGlass appearing every time I select text?
Turn on require-Command so the bar only appears when you hold Command while selecting, or add the app to the exclusion list. This is the usual fix for code editors and spreadsheets.
Is Flow dictation processed locally?
Yes. Parakeet, Nemotron, Apple Speech, and Whisper models are downloaded and run on your Mac. Audio is not uploaded, and push-to-talk means nothing is recorded between key presses.