[Bug] Windows 10: ESC interrupt during execution permanently blocks text input (stdin lost)

Resolved 💬 3 comments Opened Feb 20, 2026 by KimYx0207 Closed Feb 24, 2026

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

  1. Launch claude in terminal
  2. Send a prompt that triggers tool execution (e.g., file edits, bash commands)
  3. While Claude is actively processing/executing, press ESC to interrupt
  4. Claude stops and returns to the input prompt
  5. 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗