Learn to limit the number of tool calls an agent can make.
Limiting the number of tool calls an Agent can make is useful to prevent loops and have better control over costs and performance.Doing this is very simple with Agno. You just need to pass the tool_call_limit parameter when initializing your Agent or Team.
from agno.agent import Agentfrom agno.models.openai.chat import OpenAIChatfrom agno.tools.yfinance import YFinanceToolsagent = Agent( model=OpenAIChat(id="gpt-4o-mini"), tools=[YFinanceTools(company_news=True, cache_results=True)], tool_call_limit=1, # The Agent will not perform more than one tool call.)# The first tool call will be performed. The second one will fail gracefully.agent.print_response( "Find me the current price of TSLA, then after that find me the latest news about Tesla.", stream=True,)
If the Agent tries to run a number of tool calls that exceeds the limit all at once, the limit will remain effective. Only as many tool calls as allowed will be performed.
The limit is enforced across a full run, and not per individual requests triggered by the Agent.