When using the Gemini models gemini-flash-latest and gemini-3.1-pro-preview, the response object no longer includes the groundingChunks field inside groundingMetadata.
We’re experiencing a complete loss of groundingMetadata in responses from gemini-3-flash-preview when using Google Search grounding, starting April 8, 2026. This was working correctly on April 7.
toolUsePromptTokenCount: 5372 confirms Google Search IS being called and consuming tokens
candidates[0].content contains generated text (model produces content fine)
candidates[0].groundingMetadata is completely absent — not empty, not with zero chunks, just missing from the response
No groundingChunks, no groundingSupports, no webSearchQueries, no searchEntryPoint
Content is hallucinated (fabricated news stories) because grounding data isn’t being fed back to the model
What we’ve ruled out:
Not a thinkingConfig interaction — same result with and without thinking enabled
Not SDK-related — upgraded from v1.34.0 to v1.48.0, same behavior
Not model-specific — tested across gemini-3-flash-preview, gemini-3.1-pro-preview, gemini-3.1-flash-lite-preview, and gemini-2.5-flash
Not endpoint-specific — tested both v1 and v1beta
Occasionally 1-2 junk chunks appear ( Google Search ) but no real source URLs
Impact: Production newsletter delivery system that generates AI-curated newsletters with cited sources for paying subscribers. We’ve had to fall back to Perplexity as an alternative provider. All newsletters sent today lack source citations.
Raw response snippet (note: groundingMetadata is absent):
This appears related to the regression reported in this thread. The toolUsePromptTokenCount confirms the search tool is invoked, but the metadata bridge between the search results and the response is broken.
We are seeing this exact issue on a production fact-checking workflow. When pairing Google Search Grounding with structured output (responseMimeType: "application/json" or responseSchema), groundingMetadata.groundingChunks is completely omitted from the response object—even though webSearchQueries confirms the searches executed and were billed.
Because groundingChunks (and the underlying web.uri list) is stripped from the payload, any JSON schema requesting a source URL forces the model to synthesize the URL path from domain memory. In our benchmarks, the model hallucinates the URL path ~50% of the time, resulting in dead 404 links.
Can groundingMetadata.groundingChunks be preserved when structured output is enabled, so downstream applications have programmatic access to the actual URLs retrieved?
Neither OpenAI or Anthropic have this issue when grounding.