[Accessibility] NVDA doesn't announce backspace/deleted characters in Claude Code terminal (re: #13074)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
aThis is a follow-up to #13074 (closed as not planned, then locked), which is still occurring for multiple users.
When using Claude Code in Windows Terminal with the NVDA screen reader, pressing backspace does not announce the character being deleted. In any other terminal application (PowerShell, CMD, etc.), NVDA correctly announces each deleted character. The issue is specific to Claude Code's use of Ink.js raw mode input handling, which bypasses the standard terminal character echo that NVDA relies on.
I am a blind developer and this makes editing prompts in Claude Code very difficult, as I have no auditory feedback when correcting mistakes.
What Should Happen?
aWhen pressing backspace in Claude Code, NVDA should announce the deleted character, exactly as it does in PowerShell, CMD, and all other terminal applications on Windows. This is standard and expected screen reader behavior.
Error Messages/Logs
Steps to Reproduce
a1. Open Windows Terminal with NVDA running
- Open PowerShell and type some text, then press backspace — NVDA announces the deleted character correctly
- 3. Run
claudeto start Claude Code - 4. Type some text in Claude Code's input prompt
- 5. Press backspace — NVDA is completely silent, no character is announced
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
latest (run claude --version to confirm exact version)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
- Screen reader: NVDA (latest version) on Windows 11
- - This is a duplicate/follow-up of #13074, which was incorrectly closed as "not planned" and then locked despite the issue still occurring
- - - The root cause is Ink.js raw mode input handling which redraws the entire line on each keystroke instead of sending discrete character events that NVDA can intercept
- - - - This is a significant accessibility barrier for blind developers who rely on Claude Code professionally
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗