[BUG] Claude Code authentication flow is fundamentally inaccessible to users of assistive technology on all platforms
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?
Claude Code's first-time login uses a TUI with ASCII banners, spinners, and in-terminal prompts that screen readers (NVDA, JAWS, VoiceOver, Orca) cannot navigate. There is no accessible alternative. Result: blind and low-vision users cannot authenticate Claude Code without sighted assistance.
Things I tried (Windows 11, NVDA, Claude Max subscriber):
claudefirst launch — TUI, URL on screen cannot be reliably selected with keyboard+screen-readerclaude setup-token— same TUIclaude config get— silently drops into login TUIclaude --print ...— works but returns "Not logged in"- Claude Desktop app login (via winget) — worked, but credentials are not shared with CLI despite docs claiming
.credentials.jsonon Windows. Desktop app stores encrypted token at%APPDATA%\Claude\config.json, CLI doesn't read it - Running Desktop app's own bundled
claude.exe— also "Not logged in" - npm → native installer — no change
CLI output itself is accessible. Only the auth flow is broken.
Not only a screen reader problem. Also breaks: keyboard-only users, SSH/headless (#44028), CI environments, cognitive accessibility needs. Common thread: the TUI assumes sighted + mouse + default browser + interactive terminal.
Related open issues: #11002, #15509, #22992, #44028 — all stale.
Context: I am a blind Max subscriber. I set out to build an accessibility-focused web UI on top of Claude Code for other blind developers. Two hours in, I cannot get past login.
What Should Happen?
Authentication should be completable without sighted assistance. Two good options:
- Device-code auth flow (RFC 8628) — same pattern as
gh auth login,az login,aws sso login,gcloud auth login. Print a short code, open URL on any device, poll for completion. Industry standard, universally accessible.
- A
--screen-readeror--no-tuiflag disabling ASCII banners, spinners, ANSI codes, and interactive panels throughout the login flow. Matches Gemini CLI.
Credential sharing between Claude Desktop and Claude Code CLI should work as documented on Windows — either by writing .credentials.json or teaching the CLI to read the Desktop app's token cache.
Error Messages/Logs
Steps to Reproduce
- Install Claude Code on Windows via native installer (
irm https://claude.ai/install.ps1 | iex) or npm - Start NVDA (or any screen reader)
- Run
claudein PowerShell - Attempt to complete login using only NVDA — no mouse, no sighted assistance
Expected: login completes.
Actual: the TUI's ASCII banner, theme picker, and login URL cannot be meaningfully navigated or copied with a screen reader. There is no accessible fallback.
Alternative reproduction: login to Claude Desktop app (works fine via browser OAuth), then run claude --print "hello" in PowerShell. Result: "Not logged in", despite docs claiming credential sharing.
Claude Model
Opus
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
2.1.112 (Claude Code) — dat is wat claude --version gaf na de native install.
Platform
Other
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗