Speak Selection not working on Mac? Make ⌘C read it instead

Selected some text, pressed the shortcut, heard nothing? Here are the real fixes, in order — and an honest explanation of the apps where no setting will ever fix it.

First, the fixes that usually work

1. Make sure Speak Selection is actually on

Apple’s read-aloud feature lives in Accessibility settings, and macOS updates occasionally leave it switched off:

  1. Open System Settings → Accessibility → Spoken Content.
  2. Turn on Speak Selection.
  3. While you’re there, check System Voice is set and its volume slider isn’t at zero.

2. Check the keyboard shortcut

The default shortcut is ⌥⎋ — Option + Escape. Click the (info) button next to Speak Selection to see or change the current key combination. If you’ve remapped Escape (or use an app that captures it), pick a different combination here.

3. Test somewhere it should definitely work

Open TextEdit or Notes, type a sentence, select it, and press the shortcut. If it speaks there but not in the app you were using, your settings are fine — the problem is the app, and that’s the next section.

4. Try a quick restart of the feature

Toggle Speak Selection off and on again, or log out and back in. Speech services occasionally wedge after a long uptime; this clears them.

Why it fails in Warp, VS Code, and Figma — and always will

Speak Selection doesn’t “see” your screen. It asks the frontmost app, through macOS accessibility APIs, “what text is selected right now?” — and then speaks the answer. That works beautifully in apps built on Apple’s native text system. It fails silently in apps that draw their own text on the GPU, because they never register that text with the accessibility tree. There is nothing for the system to read.

No System Settings toggle fixes this, because the missing piece is inside each app. Warp’s issues have been open for years; canvas tools like Figma are unlikely to ever expose selections this way.

A workaround that needs no new software

Copy works in all of these apps — every app implements ⌘C. So you can pipe your copied text into the built-in say command:

pbpaste | say

Copy the text, switch to a terminal, run that, and macOS speaks it. It genuinely works — the catch is doing that dance every single time, and say won’t switch voices when you copy Chinese or Japanese.

The automatic version: ClipSpeak. ClipSpeak is a tiny menu bar app that does the pbpaste | say trick for you, instantly, on every copy — in Warp, VS Code, Figma, and everywhere else, because ⌘C never breaks. It auto-detects the language (Traditional Chinese is spoken in Cantonese, Simplified in Mandarin, Japanese and Korean auto-picked), keeps a searchable history of your copies that you can replay aloud, and runs 100% on-device with Apple’s voices. US$4.99 once — no subscription.

See how ClipSpeak works →

The short version

  1. Re-enable Speak Selection: System Settings → Accessibility → Spoken Content.
  2. Check the shortcut (⌥⎋ by default) and test in TextEdit.
  3. If it works in TextEdit but not Warp / VS Code / Figma, the app has no accessibility text to read — that’s a known, years-old limitation, not your settings.
  4. In those apps, copy instead: pbpaste | say manually, or ClipSpeak to make every ⌘C read itself aloud automatically.