One turn between the drop and the 400

Agent loop
Vertex (Gemini 3.5)
Turn 1
1
turn-1 request
2
streams tool call glob
extra_content.google.thought_signature: "Cv…=="
3
stores id · name · arguments
thought_signaturedropped
4
executes glob
Turn 2
5
turn-2 request — replays assistant tool call thought_signature + tool result
6
400 INVALID_ARGUMENT
missing thought_signature
Step through the run, or hover any step. The signature Vertex sends in step 2 has to come back in step 5 — it doesn’t.
The thought signature must round-trip. It was lost on the way in — one full turn before the failure surfaced.