[BUG] Windows: double Ctrl-C never exits — "Press Ctrl-C again to exit" shown, second press ignored, process left wedged

Status Open
Reported on v2.1.235
Maintainer reply None cached
Activity 0 comments · opened Aug 20, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report
  • [x] I am using the latest version of Claude Code

What's Wrong?

On the native Windows build, pressing Ctrl-C twice does not exit Claude Code. The first press prints Press Ctrl-C again to exit; the second press is ignored. The process stays alive and the TUI stops responding to input entirely.

After the failed exit, the console reverts to line-buffered echo in front of the wedged TUI, so typed characters are echoed at the cursor — painting over Claude's own frame — and Enter does nothing. It reads as if the terminal has turned into a dead text box:

 clearClaude account with subscription · Pro, Max, Team, or Enterprise
8eij. Anthropic Console account · API usage billing
 Press Ctrl-C again to exitecho FAST_EXIT_WORKED

(Text typed after the failed exit — clear, echo … — echoed into the menu rows.)

The only way out is killing the process or closing the terminal.

What Should Happen?

The second Ctrl-C exits Claude Code and returns to the shell prompt, as it does on macOS/Linux.

Steps to Reproduce

  1. Windows 11 (build 26200), native install, Windows PowerShell 5.1 in Windows Terminal
  2. Run claude — reproduced at the first-run screens (theme picker, and "Select login method")
  3. Press Ctrl-CPress Ctrl-C again to exit appears
  4. Press Ctrl-C again (tried both ~300ms and ~2s after the first)
  5. Claude does not exit; the TUI no longer responds to keys; typed text echoes over the frame

Error Messages/Logs

No crash or error output — the process simply never exits.

Evidence that this is not terminal- or transport-specific. I found this while debugging a remote-terminal tool, so I ran the control experiment in a plain local Windows Terminal with real keyboard events and nothing in the input path:

  • Input delivery verified first: arrow keys moved the theme-picker selection immediately.
  • Two real Ctrl-C keystrokes 300ms apart → Press Ctrl-C again to exit shown, then Get-Process claudestill running.
  • Same behaviour through the remote terminal. With two presses ~2s apart, the "press again" message printed twice — i.e. each press is treated as a first press rather than the second one counting toward exit.

So the second press is being received, but never counted toward exiting.

Scope note: verified at the first-run/theme-picker and login screens. I did not verify the main REPL after login.

Claude Code Version

2.1.235 (Claude Code)

Platform

Anthropic API

Is this a regression?

Unknown — first Claude Code install on this machine.

Environment

  • OS: Windows 11, build 26200
  • Shell: Windows PowerShell 5.1, in Windows Terminal
  • Install: native Windows build (C:\Users\<user>\.local\bin\claude.exe)
  • Account: standard (non-administrator) user

View original on GitHub ↗