VS Code: a pending permission prompt blocks the input box, forcing an immediate context switch
What happens
In the VS Code extension, while I am typing a message in the Claude input box, a permission prompt appears. From that moment I cannot continue typing - the input box is blocked until every pending question has been answered.
If several tool calls are queued, several prompts stack up, and I have to clear all of them before I can type another character.
Why it matters
To be clear: the typed text is not lost. That is not the problem. The problem is the forced interruption.
I am mid-thought, composing an instruction. The extension makes answering an unrelated question a precondition for continuing that thought. So I have to stop, read the permission request, decide on it, and then go back and re-read my own half-written message to work out where I was and what I still meant to say.
The interruption itself also makes recovery harder: being pulled out of a sentence against my will is irritating, and irritation makes it measurably harder to drop back into concentration. So the cost is not the two seconds spent answering the prompt - it is the concentration lost and the effort of rebuilding it, every single time.
It also inverts the priority. The permission decision is almost always the less urgent of the two: the tool call is already waiting and will keep waiting indefinitely. The thing with momentum is what I was typing.
Expected behaviour
A pending prompt should not gate composing. Any of these would resolve it:
- Let the input box keep accepting text while prompts are pending, and answer them when I choose to.
- Queue prompts and surface them non-blockingly rather than as a modal gate on input.
- At minimum, allow a pending prompt to be deferred or collapsed so typing can continue.
Relationship to existing issues
Distinct from both of these, though they compound each other:
- #32726 - the panel stealing focus when producing output. That is about focus being taken; this is about input being blocked even when you are already in the right place.
- #75360 - typed input being destroyed by the dialog. Again: nothing is destroyed here.
This one is specifically: prompt pending => cannot type => forced to handle the prompt before finishing the thought.
Environment
Claude Code 2.1.217, VS Code 1.130.0.