[BUG] Claude Code authentication flow is fundamentally inaccessible to users of assistive technology on all platforms

Resolved 💬 3 comments Opened Apr 16, 2026 by aradix85 Closed Apr 20, 2026

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):

  • claude first launch — TUI, URL on screen cannot be reliably selected with keyboard+screen-reader
  • claude setup-token — same TUI
  • claude config get — silently drops into login TUI
  • claude --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.json on 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:

  1. 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.
  1. A --screen-reader or --no-tui flag 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

  1. Install Claude Code on Windows via native installer (irm https://claude.ai/install.ps1 | iex) or npm
  2. Start NVDA (or any screen reader)
  3. Run claude in PowerShell
  4. 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_

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗