Tool Combinations are not working with gemini-3.5-flash I have attached some simple example code that should have the model pull up data using the built in Google Search tool then call a function for a custom schedule tool but 3.5 Flash persistently gives a message saying it does not have access to the Google Search tool while it works with the older 3 Flash Preview. Using Google Search on its own without the function declaration works with 3.5 but not as a tool combination as is written in the API documentation I linked above.
from google import genai
from google.genai import types
client = genai.Client()
schedule_meeting = {
"name": "schedule_meeting",
"description": "Schedule a meeting",
"parameters": {
"type": "object",
"properties": {"reason": {"type": "string"}},
"required": ["reason"],
},
}
prompt = "What's the weather in Buenos Aires? If it's raining, schedule a meeting."
response = client.models.generate_content(
model="gemini-3.5-flash", # Works with gemini-3-flash-preview
contents=prompt,
config=types.GenerateContentConfig(
tools=[
types.Tool(
google_search=types.GoogleSearch(),
function_declarations=[schedule_meeting],
),
],
tool_config=types.ToolConfig(
include_server_side_tool_invocations=True,
),
),
)
for part in response.candidates[0].content.parts:
if getattr(part, "tool_call", None):
print(f"Tool call: {part.tool_call.tool_type} (ID: {part.tool_call.id})")
print(f" args: {part.tool_call.args}")
if getattr(part, "tool_response", None):
print(
f"Tool response: {part.tool_response.tool_type} (ID: {part.tool_response.id})"
)
print(f" response: {part.tool_response.response}")
if getattr(part, "function_call", None):
print(f"Function call: {part.function_call.name} (ID: {part.function_call.id})")
print(f" args: {part.function_call.args}")
if getattr(part, "text", None):
print(part.text)