The normalized finish_reason a driver reports when the model tried to call a tool but the call
could not be read — Gemini's MALFORMED_FUNCTION_CALL, typically an oversized or syntactically
broken argument object. The turn then carries whatever text preceded the broken call and NO
toolCalls, so without this marker a consumer reads leftover narration as the model's answer.
The agent loop turns it into a corrective retry.
The normalized
finish_reasona driver reports when the model tried to call a tool but the call could not be read — Gemini'sMALFORMED_FUNCTION_CALL, typically an oversized or syntactically broken argument object. The turn then carries whatever text preceded the broken call and NOtoolCalls, so without this marker a consumer reads leftover narration as the model's answer. The agent loop turns it into a corrective retry.