[Bug] Windows 10: ESC interrupt during execution permanently blocks text input (stdin lost)
Summary
On Windows 10, pressing ESC to interrupt Claude Code during active execution permanently blocks all keyboard text input. The input field becomes completely unresponsive to typing, but internal shortcuts (Up arrow for history recall, Tab, Alt+M) still work.
Environment
- Platform: Windows 10 Pro (10.0.19045)
- Terminal: Git Bash / VS Code Terminal
- Claude Code Version: 2.1.45
- Node.js: v22.19.0
Steps to Reproduce
- Launch
claudein terminal - Send a prompt that triggers tool execution (e.g., file edits, bash commands)
- While Claude is actively processing/executing, press ESC to interrupt
- Claude stops and returns to the input prompt
- Cannot type any text — keyboard input is completely dead
Expected Behavior
After ESC interrupt, text input should resume normally.
Actual Behavior
- Text input completely lost — cannot type any characters
- Backspace, Enter do not work for text editing
- Up arrow works — can select previous conversation from history and send it via Enter
- Tab, Alt+M, Ctrl+C still work — internal shortcuts remain functional
- Only fix: kill terminal and restart
claude
Key Observation
The Up-arrow history selection + Enter to send does work, which confirms the issue is specifically with the stdin text input stream (readline/TTY raw mode not being properly restored after the ESC interrupt), not the entire terminal.
Related Issues (closed or different platform)
- #3475 — Same bug, Windows, v1.0.51 — CLOSED
- #10736 — Same bug, Windows, v2.0.30 — CLOSED
- #4805 — Similar freeze, Linux WSL2, v1.0.63 — OPEN but different platform
The Windows-specific instances (#3475, #10736) were closed but the bug persists in v2.1.45. This appears to be a regression or incomplete fix.
Workaround
Use Ctrl+C instead of ESC to interrupt. This does not trigger the input loss.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗