Terminal UI issues on WSL
Issues the maintainers labelled both platform:wsl and area:tui.
181 issues · 45 open · 136 resolved (75%) · first seen Feb 27, 2026
Is this getting better or worse?
This class of problem is converging. 47 new reports in the last 90 days vs 81 in the 90 before — -42%. The open backlog peaked at 45 in 2026-10 and sits at 45 today.
Derived by counting each matching issue from its creation date until it closed. First-party
computation over the anthropics/claude-code tracker — the trend is not published
anywhere upstream.
Which builds report this
141 of these reports name the Claude Code build they were running, spanning 90 releases. Heaviest reporters:
- Claude Code v2.1.241
- Claude Code v2.1.119
- Claude Code v2.1.278
- Claude Code v2.1.259
- Claude Code v2.1.228
- Claude Code v2.1.195
- Claude Code v2.1.173
- Claude Code v2.1.153
Report volume, not a defect count: an issue can mention a build without that build having caused the failure. Versions come from the version string in the bug-report template, matched against real published tags.
Do these get fixed?
Median time to close is 30 days across 136 closures. Of the 136 closures with a recorded reason, 32% were closed as completed and 93 as not-planned or duplicate. The most recent completed fix landed in 2026-08.
Workarounds reported by the community
76 of these issues post a workaround someone says worked. The highest-engagement ones:
- v2.1.150: scroll wheel no longer scrolls conversation — sends arrow keys instead
- Please provide workaround
Found in the thread of #65833 · still open - [BUG] Cannot paste auth code into "Paste code here if prompted >" during /login in Dev Container (v2.1.105)
- I have a solution that works for me. WSL workaround when paste is broken during /login If you're on WSL, have no browser, and can't paste the token, install wslu so WSL can open your Windows browser for the OAuth flow: R…
Found in the thread of #47699 · resolved - Voice: Add language configuration for speech-to-text transcription
- Workaround found: setting in settings.json The voice STT language can be configured via the setting in : After adding this manually, /voice correctly shows Dictation language: ru and Russian speech recognition works. Not…
Found in the thread of #33170 · resolved - [FEATURE] Allow /rename and /color to be set programmatically at session start
- Workaround: per-directory accent color via theme variants (works today) I stumbled on a way to auto-color sessions per project without any CLI flags or hooks. It uses + custom themes. How it works: The key in a custom th…
Found in the thread of #58588 · still open - [BUG] Regression in 2.1.269: dictation-tool paste (clipboard + simulated Ctrl+V) not inserted in VS Code integrated terminal (WSL2) — 2.1.268 works
- …to per-keystroke interpretation), 81472 (copy/paste meta). Workaround Pin 2.1.268 ( + ), or run Claude Code in Windows Terminal instead of the VS Code integrated terminal.
Found in the description of #93782 · still open
Excerpts are quoted from the linked issue so you can judge relevance before opening it. Threads that only ask for a workaround, or report that there is none, are excluded. These are community suggestions, not official guidance from Anthropic — read the full thread before applying one.
Matching issues 1–100
Ranked by community engagement (reactions weighted over comments).
- v2.1.150: scroll wheel no longer scrolls conversation — sends arrow keys instead
- [BUG] Cannot paste auth code into "Paste code here if prompted >" during /login in Dev Container (v2.1.105)
- Voice: Add language configuration for speech-to-text transcription
- [FEATURE] Allow /rename and /color to be set programmatically at session start
- [FEATURE] Voice mode: custom vocabulary and spoken-to-text replacements
- [FEATURE] Support LC_TIME locale for /usage command time formatting
- [BUG] Regression in 2.1.269: dictation-tool paste (clipboard + simulated Ctrl+V) not inserted in VS Code integrated terminal (WSL2) — 2.1.268 works
- [BUG] claude login paste not working in code input field (regression in 2.1.105+)
- [BUG] Shifted punctuation arrives unshifted in WezTerm (2.1.247 regression)
- [BUG] v2.1.172 regression: scroll wheel sends arrow keys in WSL2 terminal (Using Ubuntu)
- [BUG] `claude --resume` (cold start) renders a screen that accepts no keyboard input on WSL2
- [BUG] Assistant text between tool calls is not displayed — regardless of focus view (only turn-initial and turn-final text renders reliably)
- [BUG] SCROLLING TO TOP EVERY INSERT, AUTOMATICALLY
- [BUG] Why when I click in your window when you are waiting for an answer seem to initiate as if I have made a selection. This was not happening before.
- [Bug] Assistant text blocks between tool calls not rendered in terminal output
- [Bug] Right-click paste duplicates text in WSL 2 terminal since v2.1.143
- [BUG] [!! URGENT] CLI keeps cleaning the window randomly even inside the same session
- Fullscreen: sticky prompt bar never renders in 2.1.251 (regression from 2.1.246)
- [BUG][WSL2] Paste broken at OAuth prompt in v2.1.105 (regression from v2.1.104)
- [FEATURE] Support voice mode in WSL2 with WSLg audio
- [BUG] /mcp menu freezes and becomes unresponsive when using --resume in WSL2
- [BUG] Regression v2.1.172: AltGr characters (@, €) swallowed in chat input on WSL2 — worked in v2.1.170
- [BUG] OSC 52 + MobaXterm issue
- [BUG] v2.1.94 silently changed Ctrl+L default from app:redraw to chat:clearInput
- Rewind / time-travel picker hangs on large session transcripts (~40MB / 15k events)
- Shift+Enter no longer inserts newline in prompt (sends message instead)
- [BUG] Render loop on startup causes ~30s of input lag (fast mode status check)
- [BUG] Cannot scroll through console output or conversation history
- [BUG] Teammate agent crashes in tmux with error <Box> can't be nested inside <Text> component
- [BUG] All paste methods fail silently during OAuth prompt only
- Forced scroll to bottom when window gains focus (Windows Terminal + WSL2)
- dark-ansi theme: expanded message background (userMessageBackgroundHover) collides with subtle/inactive text on color7, making expanded tool calls unreadable in fullscreen
- [BUG] Constant "Interrupted" errors on WSL2 in v2.1.78, fixed by downgrading to 2.1.62
- vim editor mode: pasted line breaks become literal 'j' when paste isn't bracketed
- [Bug] tengu_pewter_brook: True GrowthBook flag enables mouse reporting, breaking copy/paste in SSH terminals
- Mid-turn assistant text lost with interleaved-thinking models: destroyed on 2.1.202; persists but never renders on 2.1.203+ (default and transcript views)
- Agents view: navigating into an agent and back (←) leaves stale/garbled frame until terminal resize
- Status bar UI icons render as tofu in kitty terminal despite font support
- [BUG] File reference @-sign in Nordic layout not working
- [BUG] TUI flickers/cursor jumps in tmux during streaming output (missing DECSET 2026 synchronized output)
- Feature request: play notification sound on permission prompts (tool approval)
- Shift+Enter multiline input broken in WSL2 terminal (regression in 2.1.70)
- [BUG] WSL/WSLg: image paste fails because wl-paste returns BMP into a .png path
- [BUG] Paste image not working
- [BUG] Cannot paste authentication code in WSL Ubuntu - keyboard input intercepted
- [BUG] After exiting claude in the wsl terminal, an input error occurred
- [FEATURE] Dragging a file into the prompt should insert an @ reference, not a bare path
- [BUG] /btw → f creates a fork subagent and re-executes the already-answered question
- [BUG] Claude Code Versions 2.1.83 and 2.1.84 are not correctly taking keyboard input. CLAUDE CODE IS BRICKED!!!
- Caps Lock produces [57358u in VS Code integrated terminal (v2.1.83)
- Numpad keys output raw Kitty codepoints in Windows Terminal (WSL2) since v2.1.83
- [BUG] Background sessions on claude-fable-5 render no assistant text — only AskUserQuestion dialogs; transcript shows text blocks were generated
- [Bug] Terminal mouse/focus escape sequences leak into input on WSL2 resize
- [BUG] Mouse/focus escape sequences dump into input on window resize (WSL2, v2.1.195)
- [BUG] Option to hide or minimize the built-in "status footer" (multi-line debug/cost panel) [re-raise of #31475]
- [BUG] AltGr characters (€, @) broken in WSL2: Ctrl+Alt synthesis conflicts with TUI readline shortcuts
- [BUG] Voice mode aborts immediately on Linux (Bun ws unexpected-response event not implemented)
- [BUG]
- [BUG] TUI crashes on `constructor.hpp` with `(r||"").toLowerCase is not a function`
- [Bug] Raw Kitty keyboard protocol sequences leak on modifier-only keypresses (WSL2)
- [BUG] Windows Magnifier caret tracking doesn't work with Claude Code REPL.
- v2.1.70: ~30s startup delay before typing is responsive (WSL2)
- Bug: fullscreen TUI hover-to-jump-to-previous-prompt affordance stopped working after v2.1.246 (onMouseMove handlers removed in v2.1.251)
- [BUG] Remote Control (Android app): /clear leaves the session stuck on a loading spinner and silently drops the next prompt
- [Bug] Full Screen Mode: Auto-scroll behavior prevents manual scrolling
- Terminated team agents persist in the agent list until session end (no cleanup mechanism) — still occurs on v2.1.186
- [BUG] Spurious `/init` slash command trigger
- [BUG] Scroll in WSL or PowerShell WSL Claude sessions do not scroll the chat, only the text entry field
- [BUG] Fullscreen TUI: stale spinner rows + statusline vertical desync under nested/parallel subagent load (WSL2, v2.1.178)
- Terminal scrollback lost during long session — cannot scroll up to previous results (WSL2)
- [BUG] STOP CHANGING THE TERMINAL OUTPUT WHEN THE AGENT CORRECTS ITSELF
- [BUG] Image paste (Ctrl+V) does not work in native WSL2 terminal on Windows 11
- Spacing bug: ⏸ plan mode indicator renders without enough space after the symbol
- Sync terminal tab title with /rename
- [BUG] weird terminal formatting issue with screenshots last letter of every word
- [BUG] /mcp` modal freezes TUI hard on WSL2 — only reproducible without `--debug
- [BUG] /status weekly consumption graph lines overwritten by row labels
- Terminal UI: collapsible sections and section navigation
- TUI animation freezes during thinking→streaming state transitions on WSL2 + Windows Terminal
- [Bug] Search interrupted with unclear recovery prompt
- GPG pinentry terminal conflict: signing fails with "No passphrase given" when using terminal-based pinentry
- /clear resets session color set with /color
- [FEATURE] Dragging a folder into the prompt inserts nothing
- [BUG] Slash command/skill menu does not open mid-input in the terminal (regression; #44447 closed without a fix)
- [BUG] Scroll does not work anymore in the terminal for the Claude code output
- Workspace trust dialog shows a fraction of the pre-approved permissions and offers no way to review them
- [BUG] Running-task activity header leaks from the working session into other idle sessions of the same project
- [BUG] Fullscreen mode ignores --dangerously-skip-permissions
- [BUG] No sandbox warning in terminal
- WSL2 falsely detected as having conhost viewport yank bug — streaming text unnecessarily disabled
- [BUG] You messed up scroll back in one of the latest updates
- [BUG] WSL2 text paste regression: Ctrl+V / right-click / Shift+Insert all fail in TUI input, worked in earlier version
- [BUG] Image paste (Alt+V) always fails under WSL when login shell is fish — clipboard command run via $SHELL, which rejects "$(...)" in command position
- [BUG] Agent Teams SendMessage renders teammate message bodies instead of compact summaries
- [BUG] /mcp TUI arrow key navigation is inaccessible with NVDA screen reader on Windows + WSL2
- Right-click paste broken in Windows Terminal when CC is launched via FleetView (agent view)
- TUI: closing background-task detail panel leaves dead viewport space below input
- Resume crash: Cannot read properties of null (reading 'split') in diff renderer when conversation contains file creation results
- [Bug] Custom subagent crashes silently when `model: sonnet` — CLI Mo8/createInstance secondary crash hides original error
- /terminal-setup falsely claims Shift+Enter is natively supported in WezTerm