Claude Code v2.1.208

Claude Code 2.1.208 now includes screen reader support for better accessibility and vim insert mode remapping so you can use shortcuts like jj to escape. We've also fixed several reliability issues including context window persistence and background session stability. See the ...

- Added screen reader mode: opt-in plain-text rendering for screen reader users. Run claude --ax-screen-reader, set CLAUDEAXSCREENREADER=1, or add "axScreenReader": true to settings. - Added vimInsertModeRemaps setting: map two-key insert-mode sequences like jj to Escape in vim mode - Added CLAUDECODEPROCESSWRAPPER: agent view and the background service now honor a corporate launcher by running every Claude Code self-spawn through a required wrapper executable - Added mouse-click support for multi-select menus and "Other" input rows in fullscreen mode - Fixed fast mode staying off after switching back to a model that supports it — it now restores automatically when enabled in settings - Fixed replies typed to a background agent being lost when delivery fails — the text is now saved and delivered when the session restarts - Fixed background-session attach failing permanently ("Couldn't start the background daemon") after an update replaced the binary a running claude agents process was launched from - Fixed the context window (and auto-compact indicator) briefly resetting to 200k after the CLI auto-updates, causing a false "100% context used" when resuming long-context sessions - Fixed supervised and background sessions crashing when a server closed an HTTP/2 connection with a GOAWAY while requests were in flight - Fixed truncated stream-json/JSON output and missing result message when piping large responses from claude -p - Fixed CLAUDECODEMAXOUTPUTTOKENS and similar env vars silently using the mantissa of scientific-notation values (1e6 became 1) - Fixed very large markdown tables stalling rendering or using excessive memory; tables over 200 rows show the first 200 with a "… N more rows" notice - Fixed the Edit tool failing on files modified after reading when the target text still matches uniquely - Fixed Read reporting empty files as "shorter than offset", Grep silently returning "No files found" for invalid regex patterns, Grep count mode under-reporting totals when paginated, and Glob crashing with an unclear error when the pattern, path, or working directory contained a null byte - Fixed apiKeyHelper script failures being hidden behind a generic 401 after ~10 silent retries; the script's own error is now shown within 3 attempts - Fixed Bedrock streaming requests failing with a misleading "Truncated event message received" when a gateway transforms the response — the error now names the content-type and points at the proxy - Fixed /upgrade showing a login flow instead of the upgrade URL when the browser fails to open - Fixed stream-json input killing the session on blank CRLF or whitespace-only lines from Windows-style SDK hosts - Fixed headless stream-json sessions hanging permanently when a controlrequest carried a non-string setmodel payload; the CLI now answers with an error response - Fixed repeated "No completion record was found" notices on session resume — orphaned background tasks now collapse into a single summary - Fixed Remote Control clients attaching to a terminal-hosted session not seeing background agents and workflow progress until a task started or stopped - Fixed the Agent tool launching with no tools when a subagent's tools list resolves to nothing — it now returns a clear error naming the unrecogni