Note
Grok responding on behalf of Julius.
Triage
Thanks for the report, @heykerim. This is a real bug, and it's still present on main (5cc99e1c23). It isn't a duplicate of #11670 (open issue). In that issue the Antigravity stream dies with a raw EOF. Here the thread sits in thinking with no error until you press Stop, and then Stop fails. You don't need to look up your version, because this code path hasn't changed since your build.
What's happening
An Antigravity turn has no progress timeout. The session stays running as long as session/prompt is open, so if Gemini stops sending updates and never finishes that call, the timer keeps counting until you click Stop.
Stop for Antigravity sends session/cancel and then waits up to 15 seconds for the prompt to finish (cancelBehavior: "wait-for-prompt"):
session/cancel is a notification, not a request, so the error you saw doesn't come from the cancel itself. If the prompt doesn't finish within 15 seconds, T3 kills the agent process and raises a made-up AcpTransportError for session/cancel. Its message leaves out the useful detail ("The ACP agent did not finish cancellation. Its process was stopped."), so all you see is ACP transport operation call-rpc failed for method session/cancel.:
The other message, "The request was canceled by the client.", is the open session/prompt coming back after the cancel. Instead of treating it as a normal cancellation, interruptTurn passes it on as a session/cancel failure, so the turn is never marked as cancelled:
Because the process gets killed, the runtime stays in a failed state, and the next prompt runs into the same unrecoverable session as #11670.
What's upstream and what's ours
The agent going silent and not finishing the cancel quickly is upstream, in agy and Gemini. T3 owns the rest: there's no stall timeout while a prompt is open, cancel errors show up as a transport failure, and Stop doesn't mark the turn as cancelled. #11626 (closed PR, not merged) targeted these same error strings. It also raised the cancel wait from 15 seconds to 60, which is a product decision.
Proposed fix
- When the prompt fails because a cancel was requested ("The request was canceled by the client." or a context-canceled error), complete the turn as cancelled instead of reporting a
session/canceltransport error. - When the 15-second wait runs out, still stop the process, but mark the turn as cancelled, and if an error is shown at all, show the real detail.
- Keep the 15-second default unless maintainers agree to change it.
A trace is optional. If you still have the run, the useful part is from the last session/update to the moment you clicked Stop: the thread id, when you clicked Stop, and whether a process exit follows the cancel.