[BUG] UI State Race Condition / App freeze during overlapping interactive requests
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The Claude Desktop app (and Claude Code CLI) crashes or freezes, displaying a "_Claude will return soon_" service disruption screen. This happens specifically when a new request is sent while the previous request is still in an interactive state (waiting for an option selection). It appears to be a race condition between the UI state update and new input handling.
What Should Happen?
The app should either: 1) Block or queue new input until the current interactive selection is rendered/resolved, or 2) Gracefully cancel the previous pending selection if a new request is initiated, without crashing the session.
Error Messages/Logs
Message displayed: "Claude will return soon. Claude is currently experiencing a temporary service disruption."
Steps to Reproduce
- Initiate a request that triggers an interactive response (e.g., asking Claude to choose between multiple files or options).
- Before the selection options are rendered on the screen, immediately send a new request or command.
- The application fails to handle the concurrent states and displays the "Claude will return soon" error screen.
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.138 (native)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
Path: C:\Users\User\.local\bin\claude.exe
Note: This issue seems specific to the timing of the input. If I wait for the options to appear, the crash does not occur. Attached is the screenshot of the error
<img width="1920" height="1080" alt="Image" src="https://github.com/user-attachments/assets/2390d0ae-4477-460f-9ca2-ac1d6ca383dd" />
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗