What happened?
#28700 introduced yet another regression.
Because it inserts "[The previous response was interrupted before it completed]" as the model response to a user functionResponse, the model "learns" that this is what it should answer to any tool call. What this results in is that for all subsequent tool calls, the API response is just "[The previous response was interrupted before it completed]".
At this point the session is poisoned and needs to be discarded.
What did you expect to happen?
I expect the client to be able to handle an aborted request.
An alternative might be to concat the orphaned turns together and inject them as an invisible prefix to the next user prompt after an abort, that would avoid the model getting confused about what it should be doing.
Client information
Client Information
Run gemini to enter the interactive CLI, then run the /about command.
> /about
│ CLI Version 0.56.0-nightly.20260814.gc0d192452 │
│ Git Commit fba6ee2d3cb0 │
│ Model Auto │
│ Sandbox no sandbox │
│ OS linux │
│ Auth Method Signed in with Google (<email>) │
│ Tier Gemini Code Assist Standard │
│ GCP Project tm-gcp-emea-ai-platform
Login information
Signed in with Google
Anything else we need to know?
This is probably the last issue I will be raising, every other PR you land introduces a regression.
I think you need to take a long, hard look at how you do reviews.
I shouldn't spend half my time QA-ing your product, a product my company pays for, for you.
What happened?
#28700 introduced yet another regression.
Because it inserts "[The previous response was interrupted before it completed]" as the model response to a user functionResponse, the model "learns" that this is what it should answer to any tool call. What this results in is that for all subsequent tool calls, the API response is just "[The previous response was interrupted before it completed]".
At this point the session is poisoned and needs to be discarded.
What did you expect to happen?
I expect the client to be able to handle an aborted request.
An alternative might be to concat the orphaned turns together and inject them as an invisible prefix to the next user prompt after an abort, that would avoid the model getting confused about what it should be doing.
Client information
Client Information
Run
geminito enter the interactive CLI, then run the/aboutcommand.Login information
Signed in with Google
Anything else we need to know?
This is probably the last issue I will be raising, every other PR you land introduces a regression.
I think you need to take a long, hard look at how you do reviews.
I shouldn't spend half my time QA-ing your product, a product my company pays for, for you.