When combining fileSearch (FileSearchStore) with functionDeclarations in the same request to gemini-3-flash-preview, the API now returns:
Tool use with function calling is unsupported by the model.
This was working as recently as last week (~Feb 9). We haven’t changed our implementation — the model appears to have been updated behind the same gemini-3-flash-preview identifier.
This allows our agent to search uploaded user documents (via RAG) while also taking actions through custom function calls. The two tool types worked together fine until this past week.
Question
Is this a regression, or is combining fileSearch with functionDeclarations intentionally unsupported going forward? The Gemini 3 docs mention “combining built-in tools with function calling is not yet supported” — but this was working, so we’re unsure if it’s a temporary limitation or a permanent restriction.
If it’s intentional, are there plans to support this combination? Our use case (RAG + function calling in the same agent turn) seems like a common agentic pattern.
Related
gemini-3-flash-preview file search returns empty content (works in 2.5)
File Search Tool in combination with response schema not working
My hotfix was to basically create a sub-agent flow that that sole purpose is only search. Then I wrapped this code-flow and registered it as a functionDeclaration to my base-agent. That function has one argument which is prompt, that basically says include relevant context for search.
It feels wrong to have to do this b/c of round trip added
@Mustan_lokhand Could someone from the Google Team please explain why these API features cannot be used compositionally. On the backend, couldn’t these different ‘tools’ effectively be run in parallel?
It kills API performance to have to do them sequentially.
@Mustan_lokhand Sorry if the ping is noisy. I would love an update. The timing of doing file-search followed by another llm-round trip for function calls synchronously is really killing our user-experience right now.