[A11y feature request] Built-in option to speak Claude's responses aloud

Open 💬 23 comments Opened May 12, 2026 by DCA11Y

Summary

Add a built-in option to have Claude's responses spoken aloud in the Claude Code desktop app. This benefits blind users, low-vision users, and anyone working hands-busy or hands-free.

Proposal

Two patterns, either or both:

  1. User setting (opt-in, off by default) — when enabled, completed Claude responses are read aloud automatically as soon as streaming finishes.
  2. Keyboard shortcut — a binding (e.g. cmd+shift+R) that reads the most recent Claude response on demand.

Either pattern is well-established in accessibility tooling: think VoiceOver's "speak the focused item" or screen reader "read from here" commands.

Why built-in beats a hook workaround

A hook-based version (Stop hook + say) is theoretically possible but has problems:

  • The Stop hook fires on /clear, /resume, /compact, etc., not just on actual response completion.
  • The hook payload likely does not contain the response text, so it has to scrape the transcript file.
  • Markdown and code blocks sound terrible when read by raw text-to-speech (literal asterisks, backticks, "hash hash hash" for headings) — would need clean message data and intelligent rendering.
  • No clean way to interrupt when the user starts typing the next prompt.

A built-in implementation would have access to clean message data, settings UI, proper interrupt handling on user input, and nicer voices than say.

Context

I submitted the same feedback via the in-app /feedback channel and to support@anthropic.com so the team can dedupe.

I am Lead Accessibility Architect at Paramount Streaming, blind, daily VoiceOver user. Happy to help spec, test, or pilot.

View original on GitHub ↗

23 Comments

github-actions[bot] · 2 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/45251
  2. https://github.com/anthropics/claude-code/issues/45863
  3. https://github.com/anthropics/claude-code/issues/42700

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

leonidb · 2 months ago

The three hook workaround problems you named are real, native is genuinely better.
For macOS users who want something installable today, I just made Audio Recap https://github.com/leonidb/claude-code-audio-recap public.
I've been using and tweaking it for several weeks and it's been useful in practice.

  1. It reads the transcript file - no way around it, not ideal but works
  2. Markdown sounding terrible - Audio Recap uses a Haiku call (using Claude Code) to generate a summarized one-sentence recap of the turn (e.g., "Edited auth.py and added the OAuth callback; tests passing") - a digest of what happened, not raw

markdown read aloud. Long replied messages do get markdown rewrites too (code blocks announced rather than read literally)

  1. You can interrupt the narration by clicking escape

It's macOS-only for now (uses native say/afplay). Summaries go through your existing Claude Code Haiku auth. No additional dependencies.

None of this replaces a native solution. But it handles your complaints until native lands.

Jamie-Jordan · 1 month ago

Strong +1 from another disabled user with a different angle. I have cerebral palsy and I'm an auditory learner, and I'd add two things.
First, please consider Cowork as well as Claude Code. The same gap exists in both.
Second, the design point that matters most to me: voice output should be a playback layer that coexists with typing, not a hands-free voice mode that takes over input. In the chat app today, turning voice on disables typing, which makes it a voice conversation instead of "type normally and hear the replies." That tradeoff makes it much less useful for real work.
My actual workflow, which your opt-in auto-read setting (pattern 1) would serve perfectly: I dictate my input with Mac's built-in dictation, because it handles my speech far better than in-app voice recognition; I mute my mic, and I just want Claude's responses read back automatically. I already do exactly this with another assistant by leaving its voice output on while I type by dictation. Clean input and automatic playback at the same time.
Agree with you on code: in Claude Code, I'd only want prose and explanations read aloud, never source code read literally.
I build things with these tools and think a lot about technology and disability from lived experience. Glad to test or share a user's perspective if useful.

josh000111 · 1 month ago

+1 for TTS please. A simple "Read Aloud" option in the existing context menu (when you right-click a Claude Code response), would be helpful also.

Jamie-Jordan · 1 month ago

I noticed that it has been added in one of the latest updates. It was added very quickly after I submitted a request inside Claude so I just want to say thank you to whoever was responsible for taking care of this. Taking care of the people that use your product is a massive deal and it's much appreciated. The readback isn't quite as smooth as I would like it to be, but that's being nitpicky. I'm just glad the option is there. Thank y'all.

josh000111 · 1 month ago
I noticed that it has been added

@Jamie-Jordan thank! how do i access the read aloud feature? What's it called?

Jamie-Jordan · 1 month ago
> I noticed that it has been added @Jamie-Jordan thank! how do i access the read aloud feature? What's it called?

There is a play button icon at the bottom of every Claude response. Sometimes it will read further up than just the one response, so you will hear some stuff that you may have already heard. I would like to see that tweaked but the play button is how you access it.

josh000111 · 1 month ago

Strange, I only saw the Play button at bottom of Claude Chat responses, not Claude Code. I'll check again

Jamie-Jordan · 1 month ago

It is there like I said it’s not perfect but it’s a different improvement.

Jamie Jordan
Host, Gaming Uncensored Podcast <https://gaminguncensored.com/gu/>
jamiejordan.org
Linkedin <https://www.linkedin.com/in/jamie-jordan-7719aa3/>

On Tue, Jun 16, 2026 at 9:03 AM Josh000 @.***> wrote:

josh000111 left a comment (anthropics/claude-code#58429) <https://github.com/anthropics/claude-code/issues/58429#issuecomment-4719607585> Strange, I only saw the Play button at bottom of Claude Chat responses, not Claude Code. I'll check again — Reply to this email directly, view it on GitHub <https://github.com/anthropics/claude-code/issues/58429?email_source=notifications&email_token=CDZ4MOHZNAWXGWLHEHEIADT5AFHTVA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZRHE3DANZVHA22M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-4719607585>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/CDZ4MOG3GMQN6W2UORZ23P35AFHTVAVCNFSNUABFKJSXA33TNF2G64TZHM4TGNZSGUZTINZVHNEXG43VMU5TINBTGEZDKMRRGI2KC5QC> . Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS <https://github.com/notifications/mobile/ios/CDZ4MODJ5IH2I7ZKUXQ4EHT5AFHTVA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZRHE3DANZVHA22M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJKTGN5XXIZLSL5UW64Y> and Android <https://github.com/notifications/mobile/android/CDZ4MOBQC7X3AUYPZ6BLYGD5AFHTVA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZRHE3DANZVHA22M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>. Download it today! You are receiving this because you were mentioned.Message ID: @.***>
josh000111 · 29 days ago

Can you attach a screenshot please? I can't see any Play button beneath Claude's responses in Claude Code desktop

Jamie-Jordan · 29 days ago

I just figured out you have to hover over the response to make the option
show up, just like the ability to pin it or anything else. Cowork is where
the screenshot was taken, but the same principle applies to code.
Jamie Jordan
Host, Gaming Uncensored Podcast <https://gaminguncensored.com/gu/>
jamiejordan.org
Linkedin <https://www.linkedin.com/in/jamie-jordan-7719aa3/>

On Wed, Jun 17, 2026 at 7:35 AM Josh000 @.***> wrote:

josh000111 left a comment (anthropics/claude-code#58429) <https://github.com/anthropics/claude-code/issues/58429#issuecomment-4730161062> Can you attach a screenshot please? I can't see any Play button beneath Claude's responses in Claude Code desktop — Reply to this email directly, view it on GitHub <https://github.com/anthropics/claude-code/issues/58429?email_source=notifications&email_token=CDZ4MOEHHF7HLNSCMEZTRFL5AKGCDA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZTGAYTMMJQGYZKM4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-4730161062>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/CDZ4MOANQNV4NAY7UDIQT6T5AKGCDAVCNFSNUABFKJSXA33TNF2G64TZHM4TGNZSGUZTINZVHNEXG43VMU5TINBTGEZDKMRRGI2KC5QC> . Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS <https://github.com/notifications/mobile/ios/CDZ4MOD6AOL57PXCIGP5TQD5AKGCDA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZTGAYTMMJQGYZKM4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJKTGN5XXIZLSL5UW64Y> and Android <https://github.com/notifications/mobile/android/CDZ4MOBXSG6LCZSTKTBX5L35AKGCDA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZTGAYTMMJQGYZKM4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>. Download it today! You are receiving this because you were mentioned.Message ID: @.***>
josh000111 · 28 days ago

Yes. I know there are some icons that appear under Claudes responses when you hover the message, but I can't see any Play icon. Can you upload a screenshot please? Non in your previous message

Jamie-Jordan · 27 days ago
Yes. I know there are some icons that appear under Claudes responses when you hover the message, but I can't see any Play icon. Can you upload a screenshot please? Non in your previous message

I apologize sent it via email didn't realize it didn't come through. Here you go.

<img width="1052" height="938" alt="Image" src="https://github.com/user-attachments/assets/666bc957-98ff-4f4e-b347-06f35d225a52" />

josh000111 · 27 days ago

Are you absolutely sure your screenshot isn't from the "Chat" tab in Claude Desktop? I'm looking for the Play icon under the "Code" tab and it doesn't exist. When I hover a Claude Code response (under the "Chat" tab) it just shows a Pin icon and Copy icon. No play icon.

Jamie-Jordan · 27 days ago
Are you absolutely sure your screenshot isn't from the "Chat" tab in Claude Desktop? I'm looking for the Play icon under the "Code" tab and it doesn't exist. When I hover a Claude Code response (under the "Chat" tab) it just shows a Pin icon and Copy icon. No play icon.

<img width="1039" height="938" alt="Image" src="https://github.com/user-attachments/assets/dab64851-fe0a-46c4-b7fa-780c61c230a0" />

Yes, sir, I'm not an idiot. The one I sent you yesterday was inside cowork, the one attached here came from code in the app on the Mac. You might need to update. They have been updating like crazy lately.

josh000111 · 25 days ago

Right, strange. Where are you based maybe its a rollout issue. This is all I see;

<img width="221" height="105" alt="Image" src="https://github.com/user-attachments/assets/b9636e30-742c-4331-b840-84f9e79c69c9" />

Jamie-Jordan · 25 days ago
Right, strange. Where are you based maybe its a rollout issue. This is all I see; <img alt="Image" width="221" height="105" src="https://private-user-images.githubusercontent.com/16798009/610862411-b9636e30-742c-4331-b840-84f9e79c69c9.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODIwNjY0NTYsIm5iZiI6MTc4MjA2NjE1NiwicGF0aCI6Ii8xNjc5ODAwOS82MTA4NjI0MTEtYjk2MzZlMzAtNzQyYy00MzMxLWI4NDAtODRmOWU3OWM2OWM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA2MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNjIxVDE4MjIzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ5ODFlOGI4MzIwMjUwMjJiZDFmMGFhZDlhZTIzZTRiYzdlMzMyZWMzMjJlMjZiNTA5M2VjNjZkMTMxMWY3NGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.SQ8ojHU1i8aotuOIx38tO4h07FKJ1AxqPz3We3W0H2o">

I'm in Texas in the US. It looks like you're missing several different things not just the play button. Are you on Mac or Windows? I'm on Mac and I have not even attempted to install Claude on Windows. I have a Windows machine. Mac is just much more secure I'm less worried about security issues there.

josh000111 · 24 days ago

I'm on Mac. What you mean I'm missing other things not just play button?

Jamie-Jordan · 24 days ago
I'm on Mac. What you mean I'm missing other things not just play button?

<img width="561" height="610" alt="Image" src="https://github.com/user-attachments/assets/f8dcff67-bad8-4a94-b1e5-2fc54bc63cb7" /> mine has the ability to branch conversations. That's what that last symbol is that you see in this picture.

josh000111 · 23 days ago

Hmm, yes I see. Going to post and see whether anyone else in my country is seeing these extra icons or not. Thanks for the screenshots.

Btw, when you hover the Play icon, what is the exact tooltip text it displays? I'd like to know what the feature is called so I can try and search for the docs. Already tried a few different search terms (Read Aloud, Speak, etc) and it didn't surface anything in the changelog.

mbailey · 22 days ago

I've been using Claude Code with VoiceMode (voicemode.dev) for over a year now.

It's built for natural conversations and provides Situational Accessibility (completely hands / screen free).

Tonight Claude and I rode a bike for an hour with my MacBook in my backpack and AirPods in my ears. I use it in the shower with a bluetooth speaker.

https://github.com/mbailey/voicemode

  • Free and Open Source
  • Vendor neutral
  • Local or cloud voice services
  • 250K downloads on PyPI

As its co-creator, I'd be interested to hear from you @DCA11Y. I built it for me and I'm sighted but am a Claude Addict who didn't want to spend 16 hours staring at a screen. My favourite thinking, building and learning sessions with Claude Code are driving which means it's battle tested - I can't look at the screen or use the keyboard while driving. I've done two sessions in a float tank with Claude Code - on the third one Claude convinced me to just enjoy the float and pick up again afterwards.

callidussprachkurse · 17 days ago

Feedback on the now-shipped read-aloud / play button (macOS, Claude Code desktop, Code tab):

For non-English users it's currently broken. The play button reads German responses with an English-accented voice. It used to read German with a German voice and changed at some point after an update.

Two things make it unfixable from the user side today:

  • There is no setting to choose the read-aloud voice or language.
  • The macOS System Voice (Settings → Accessibility → Spoken Content) has no effect on it, so users can't redirect it to a local German voice.

Please add a way to set the read-aloud language/voice — or auto-detect the language of the response and pick a matching system voice. As-is, the feature is unusable for anyone working in a non-English language. Thanks!

Jamie-Jordan · 12 days ago
Hmm, yes I see. Going to post and see whether anyone else in my country is seeing these extra icons or not. Thanks for the screenshots. Btw, when you hover the Play icon, what is the exact tooltip text it displays? I'd like to know what the feature is called so I can try and search for the docs. Already tried a few different search terms (Read Aloud, Speak, etc) and it didn't surface anything in the changelog.

Sorry for the late reply I missed this comment. The icon is a play button as shown in the screenshots above. It literally says "read aloud."