[A11y] CLI with VoiceOver: no way to know when a turn is done, and streaming output is exhausting to listen to

Status Open
Reported on v2.1.234
Maintainer reply None cached
Activity 0 comments · opened Aug 19, 2026

Summary

I'm blind and use VoiceOver full time. I use Claude Code in the terminal with screen reader mode on (axScreenReader: true), which is a real improvement and I'm glad it exists. A few things still make the terminal harder to use than it needs to be.

Environment

  • Claude Code 2.1.234, axScreenReader: true, prefersReducedMotion: true
  • macOS 26.6.1, Terminal, VoiceOver

What happens

  1. No signal when Claude is done. When a turn ends nothing tells me. If I'm in another app VoiceOver says "Terminal" and no more. The desktop app gets this right (VoiceOver says "Claude is finished responding", and there's a notification when I'm elsewhere). The terminal needs an equivalent: a sound, or a spoken announcement, when a turn finishes or Claude is waiting on me.
  1. Streaming output is a lot to listen to. VoiceOver reads the output as it's written, so a long answer is a constant stream I can't pause or skip through. It does tell me what's happening in real time, but most of the time I'd rather be told the turn is over and read the answer at my own pace.

Other things that make the terminal hard with a screen reader

Adding these because they come up for other screen reader users too, not only me:

  • The fullscreen TUI broke VoiceOver reading altogether (#63500). /tui default gets around it, but you have to know it exists.
  • Permission prompts and menus are easier since screen reader mode numbered them, but it's still easy to miss that one is waiting for an answer, which ties back to point 1.
  • Status lines and spinners redraw often, and every redraw is something VoiceOver may read again.

What would help

  • A sound and/or a VoiceOver announcement when a turn ends or Claude needs input, in screen reader mode, on by default.
  • A way to hold speech until the turn is done, then read the finished answer, instead of reading the stream.
  • Keeping linear output and numbered prompts as the default whenever a screen reader is detected, so nobody has to find /tui default.

Related: #70425 and #63500.

I'll test builds or answer questions if that's useful.

View original on GitHub ↗