FAQ
Questions, answered.
The short version: it runs on your Mac, it reads your selection aloud, and your text never leaves the machine. The details are below.
Is my text actually private?
Yes. The selection is synthesized on-device by the MLX model, held in memory only while it is being read, and never written to disk, never logged, and never sent anywhere. The logs record lengths and timings only — never content. There are no analytics, no crash SDK, and no account.
Does it work offline?
After you download a voice model once — and Kokoro fetches a few small pronunciation assets on its first synthesis — everything runs offline. The network is used only for that initial model download and for app-update checks.
Kokoro or Soprano — which model should I use?
Kokoro (82M) is the default: 54 voices across several languages, natural prosody. Soprano (80M) is faster and English-only, with a single voice. Either one alone is enough; together they need about 0.6 GB. Pick Kokoro for range, Soprano for the quickest time-to-first-word.
I press ⌥⎋ and nothing happens.
The shortcut needs Accessibility permission — it powers both reading the selection and the keyboard tap. Grant it under System Settings → Privacy & Security → Accessibility, then use Recheck in Settings → Permissions, which also shows whether the ⌥⎋ tap is actually installed.
If Apple's built-in Speak selection is also assigned to ⌥⎋, disable or reassign it under System Settings → Accessibility → Spoken Content. MLXRead won't change that setting for you.
Why does it need Accessibility permission?
Two reasons: to read the current selection from the frontmost app through the Accessibility API, and to receive the global ⌥⎋ shortcut. MLXRead monitors the grant continuously — if you revoke it, the app removes its keyboard tap and stops any active reading immediately.
Can I make it always on?
Yes. Turn on Launch at login in Settings → General (or from the menu-bar menu) and MLXRead starts automatically and stays in the menu bar — no Dock icon, always a keystroke away. That is the always-on mode.
Is it signed and notarized? Will Gatekeeper complain?
The release is Developer ID–signed, runs under the hardened runtime, and is notarized by Apple — so it opens without a Gatekeeper warning. Unzip it, drag it to Applications, and open it.
How does it update?
Automatically, via Sparkle 2 with EdDSA-signed appcasts over HTTPS — every update is cryptographically verified before it installs. You can also check manually from the menu bar (Check for Updates…) or Settings → General.
Which Macs, and how much disk?
An Apple Silicon Mac running macOS 14 or newer. Budget about 0.6 GB for both voice models; either one alone is enough.
Can it read PDFs, or text in any app?
It reads the selection from most apps through the Accessibility API, with a clipboard-preserving ⌘C fallback for apps that don't expose their selection. PDF viewers must surface a text layer or respond to ⌘C. Secure input fields (password boxes) intentionally block capture.
What languages and voices are there?
Kokoro ships 54 voices across several languages; Soprano is a single English voice. Choose the voice and speed (0.5–2×) in Settings → Voice.
How do I report a bug or ask for a feature?
How do I uninstall it?
Quit MLXRead, then drag it from Applications to the Trash. To remove the downloaded models too, delete ~/Library/Application Support/MLXRead. Turning off Launch at login first is tidy, though it is cleared automatically when the app is removed.
Is it really free?
Yes — MIT-licensed and fully open source. No accounts, no paid tiers, no telemetry. You can read every line and build it yourself.
Didn't find it? Get support or send a message →