Gemini 3 Flash Preview: 400 Bad Request error due to missing thought_signature in ADK DatabaseSessionService

I am using Google ADK 1.21.0 on Cloud Run with Gemini 3 Flash Preview. I have integrated Cloud SQL (PostgreSQL) via the ADK DatabaseSessionService for persistent sessions.

The Problem: My agent crashes during multi-turn tool calling with a 400 Bad Request: “Unable to submit request because function call… is missing a thought_signature.”

What I’ve Tried:

  • Stateless Mode (use_interactions_api=False): The ADK internal Postgres manager appears to be stripping the thought_signature metadata from the JSON before saving to the database. When history reloads, the missing signature triggers the 400 error.

  • Stateful Mode (use_interactions_api=True): Setting the location to global returns a 404 Method Not Foundbecause the :interact endpoint is not available on the global router.

  • Config Changes: Setting include_thoughts=False does not stop the error, as Gemini 3 still requires these signatures for tool-use continuity.

Request: Can the ADK DatabaseSessionService be updated to preserve thought_signature fields? Alternatively, is there a timeline for the Interactions API (:interact) to be supported on the global endpoint?

1 Like