Claude Code v2.1.208: Screen Reader Mode, Vim Remaps, Memory Leak Fixes, and More

✍️ OpenClawRadar📅 Published: July 14, 2026🔗 Source
Ad

Claude Code v2.1.208 ships with accessibility improvements, vim quality-of-life features, corporate deployment support, and a massive sweep of bug fixes — especially around memory leaks and edge cases in streaming, SDK hosts, and background agents.

New Features

  • Screen reader mode: Opt-in plain-text rendering. Activate via claude --ax-screen-reader, set CLAUDE_AX_SCREEN_READER=1, or add "axScreenReader": true to settings.
  • Vim insert-mode remaps: The vimInsertModeRemaps setting lets you map two-key insert-mode sequences — e.g., jj to Escape in vim mode.
  • Process wrapper: CLAUDE_CODE_PROCESS_WRAPPER forces every Claude Code self-spawn (agent view, background service) through a required wrapper executable, enabling corporate launcher compliance.
  • Mouse-click support: Multi-select menus and "Other" input rows in fullscreen mode now accept mouse clicks.
Ad

Key Bug Fixes

  • Fast mode: Switching back to a model that supports it now correctly restores fast mode if enabled in settings.
  • Background agent replies: Text typed to a background agent when delivery fails is saved and delivered on session restart.
  • Context window reset: The context window (and auto-compact indicator) no longer briefly resets to 200k after CLI auto-update, preventing false "100% context used" during long sessions.
  • HTTP/2 GOAWAY: Supervised and background sessions no longer crash when a server closes an HTTP/2 connection with GOAWAY while requests are in flight.
  • Piped output truncation: Large responses from claude -p no longer have truncated stream-json/JSON output or missing result messages.
  • Scientific notation env vars: CLAUDE_CODE_MAX_OUTPUT_TOKENS=1e6 no longer silently becomes 1 — the mantissa is now parsed correctly.
  • Large markdown tables: Tables over 200 rows now show the first 200 with a "… N more rows" notice, preventing rendering stalls and excessive memory use.
  • Edit tool: Now correctly handles files modified after reading when the target text still matches uniquely.
  • Read/Grep/Glob: Empty files no longer reported as "shorter than offset"; invalid regex patterns now error instead of returning "No files found"; Grep count mode no longer under-reports when paginated; Glob crashes on null bytes in patterns/paths now show a clear error.
  • apiKeyHelper: Script failures now surface within 3 attempts instead of being hidden behind a generic 401 after ~10 silent retries.
  • Bedrock streaming: Gateway-transformed responses now error with the content-type and a proxy reference instead of misleading "Truncated event message received".
  • /upgrade: Shows the upgrade URL directly instead of a login flow when browser fails to open.
  • Windows stream-json: Blank CRLF or whitespace-only lines from Windows-style SDK hosts no longer kill the session.
  • Headless stream-json: Non-string set_model payloads in control_request no longer hang permanently — the CLI now responds with an error.
  • Session resume notices: Orphaned background tasks collapse into a single summary instead of repeated "No completion record was found".
  • Remote Control: Terminal-hosted sessions now expose background agents and workflow progress to remote clients immediately, not only after a task starts.
  • Agent tool with no tools: If a subagent's tools list resolves to nothing, the tool now returns a clear error naming the unrecognized entries.
  • /usage: No longer shows stale cached bars over fresher data. /mcp: Reclassifies placeholder servers after config edits.
  • SDK hosts: "Change directory" no longer fails with "A turn is in progress" on idle sessions with a running background task.
  • Workflow save dialog: Now respects CLAUDE_CONFIG_DIR instead of hardcoding ~/.claude/workflows/.
  • /release-notes: "Show all" no longer injects the entire changelog into every subsequent request.
  • Memory leaks:
    • Pasted images in agent view are no longer retained for the screen's lifetime after sending peek replies.
    • SDK sessions no longer lose agents defined via the initialize request when a plugin refresh runs before client attach.
    • MCP stdio server stderr no longer accumulates up to 64 MB per server.
    • LSP documents now capped at 50 via LRU instead of staying open indefinitely.
    • Async hook output no longer retained after backgrounding.
    • Unbounded growth in headless/SDK sessions from large tool-result payloads fixed.
    • Reading files with extremely long single lines using offset/limit no longer blows up memory.

This release is a heavy patch — if you've been hitting memory issues in long Claude Code sessions, stalling on markdown tables, or dealing with background agent reply loss, upgrading is strongly recommended.

📖 Read the full source: GitHub Claude-Code

Ad

👀 See Also