Terminal UI issues on WSL
Issues the maintainers labelled both platform:wsl and area:tui.
155 issues · 34 open · 121 resolved (78%) · first seen Feb 27, 2026
Is this getting better or worse?
This class of problem is converging. 63 new reports in the last 90 days vs 91 in the 90 before — -31%. The open backlog peaked at 34 in 2026-07 and sits at 34 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
118 of these reports name the Claude Code build they were running, spanning 74 releases. Heaviest reporters:
- Claude Code v2.1.119
- Claude Code v2.1.241
- Claude Code v2.1.228
- Claude Code v2.1.195
- Claude Code v2.1.173
- Claude Code v2.1.153
- Claude Code v2.1.84
- Claude Code v2.1.83
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 29 days across 121 closures. Of the 121 closures with a recorded reason, 36% were closed as completed and 78 as not-planned or duplicate. The most recent completed fix landed in 2026-08.
Workarounds reported by the community
59 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 - [BUG] claude login paste not working in code input field (regression in 2.1.105+)
- …e back to 2.1.104 fixes the issue without any other changes Workaround Downgrade to 2.1.104 (binary is still present after auto-update) ln -sf ~/.local/share/claude/versions/2.1.104 ~/.local/bin/claude What Should Happen…
Found in the description of #47799 · resolved - [BUG] v2.1.172 regression: scroll wheel sends arrow keys in WSL2 terminal (Using Ubuntu)
- …y sequences instead of scroll events. TUI shows the hint: . Workaround Roll back to 2.1.170: shell Scroll wheel is sending arrow keys · use PgUp/PgDn to scroll ` Steps to Reproduce roll back into v2.1.170 Claude Model So…
Found in the description of #67300 · resolved
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] claude login paste not working in code input field (regression in 2.1.105+)
- [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] 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] 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
- [Bug] Assistant text blocks between tool calls not rendered in terminal output
- [BUG][WSL2] Paste broken at OAuth prompt in v2.1.105 (regression from v2.1.104)
- [BUG] Assistant text between tool calls is not displayed — regardless of focus view (only turn-initial and turn-final text renders reliably)
- [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
- Forced scroll to bottom when window gains focus (Windows Terminal + WSL2)
- 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] Shifted punctuation arrives unshifted in WezTerm (2.1.247 regression)
- [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
- 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
- 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)
- 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
- [BUG] Cannot scroll through console output or conversation history
- Feature request: play notification sound on permission prompts (tool approval)
- Shift+Enter multiline input broken in WSL2 terminal (regression in 2.1.70)
- [BUG] Cannot paste authentication code in WSL Ubuntu - keyboard input intercepted
- [BUG] After exiting claude in the wsl terminal, an input error occurred
- [BUG] /btw → f creates a fork subagent and re-executes the already-answered question
- [BUG] Paste image not working
- [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] 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] 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] Fullscreen TUI: stale spinner rows + statusline vertical desync under nested/parallel subagent load (WSL2, v2.1.178)
- [BUG] Option to hide or minimize the built-in "status footer" (multi-line debug/cost panel) [re-raise of #31475]
- 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
- Fullscreen: sticky prompt bar never renders in 2.1.251 (regression from 2.1.246)
- [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
- 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] 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] Image paste (Ctrl+V) does not work in native WSL2 terminal on Windows 11
- [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
- [BUG] Ctrl+V image paste silently fails on WSL+WSLg (BI_BITFIELDS BMP decode)
- /login OAuth flow: unable to paste code in WSL2 terminal
- Terminal scrollback lost mid-session on WSL2 + Windows Terminal (alternate screen buffer)
- Status bar shows default effort level, not per-turn ultrathink override
- [BUG] Terminal viewport jumps to top on every re-render in WSL2 + Tabby terminal (Windows 11)
- voiceEnabled: true in settings doesn't initialize voice recording on startup
- app:toggleTodos keybinding only works with Teammates feature, not with regular background agents
- [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] /usage heatmap misplaces usage by one weekday row; contradicts "Most active day" stat
- claude agents: OSC 52 clipboard emission broken in tmux (regression in 2.1.146–2.1.153)