Hi All,
I am working on ADK Multi-Agent System & I am building Custom Agent to route parallely to subagent based on certain condition like user department,user id that I get in request. Routing is working fine.
Issue comes when we use Custom Agent + Parallely calling subagents ( this is not inbuild parallel Agent as we need to only call subagent based on condition) & Tools .
Issue 1- Model final output is intermediate like - I am waiting response from Tool & close connection.
Issue 2- Subagents sharing data with each other ( Result of subagent A displayed in Result of Subagent B)
Issue 3- As agents running parallely , custom agent failing to wait for their completion.
Issue 3- Tools keep calling infinitly, found similar bug
opened 10:00AM - 19 May 25 UTC
models
tools
**Custom Function Tool enters infinite loop.**
When creating a custom tool, the … process enters an infinite loop and no output is extracted. Despite the tool running, it does not complete or return any results, causing the workflow to hang indefinitely.
**To Reproduce**
Steps to reproduce the behavior:
1. Create a custom tool following the standard procedure.
2. Run the tool with sample input.
3. Observe that the tool keeps running without producing any output.
4. The process never completes, effectively causing an infinite loop.
Refer the code snippet below
`import os
from qdrant_client import QdrantClient
def query_qdrant_db(user_query: str) -> str:
"""
Searches Qdrant collection for text chunks relevant to the user's query
and returns a string summary of results or an error message.
Args:
user_query (str): The natural language query from the user.
Returns:
str: Concatenated relevant text chunks or an error message.
"""
try:
client = QdrantClient(
url=os.getenv("QDRANT_URL"),
api_key=os.getenv("QDRANT_API_KEY")
)
import requests
embed_response = requests.post(
"http://localhost:11434/api/embeddings",
json={"model": "nomic-embed-text:v1.5", "prompt": user_query}
)
embed_response.raise_for_status()
query_vector = embed_response.json()["embedding"]
search_result = client.search(
collection_name="pdf_chunks",
query_vector=query_vector,
limit=5,
with_payload=True
)
texts = [hit.payload.get("text", "") for hit in search_result]
if texts:
return "\n\n---\n\n".join(texts)
else:
return "No relevant information found in the database."
except Exception as e:
return f"Error querying Qdrant database: {str(e)}"
from google.adk.agents import Agent
from google.adk.models.lite_llm import LiteLlm
AGENT_MODEL = "ollama/llama3.2:3b"
root_agent = Agent(
model=LiteLlm(model=AGENT_MODEL),
name='root_agent',
description='You answer questions using a specific hardcoded PDF document. Use semantic search to find relevant text, then answer accurately using an LLM.',
instruction='Your name is Nova and you help as customer support. You can use the query_qdrant_db tool as knowlegde refrence for answering.',
tools=[query_qdrant_db]
)
`
**Expected behavior**
Data is retrieved in proper format and execution is completed in one go.
**Screenshots**

**Desktop (please complete the following information):**
- OS: Windows 10
- Python version(python -V): 3.13
- ADK version(pip show google-adk):0.5.0
**Additional context**
The agent works fine when not using function tool but it creates problem when run with a tool.
is these known issues with Custom Agents?
Miqua
Split this topic
September 11, 2025, 3:33pm
2