Team Fallback Models: Basic

When the team leader's primary model fails (after exhausting retries), fallback models are tried in order until one succeeds.

basic_fallback.py
"""
Team Fallback Models — Basic
=============================

When the team leader's primary model fails (after exhausting retries),
fallback models are tried in order until one succeeds.
"""

from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.models.openai import OpenAIChat
from agno.team import Team

researcher = Agent(
    name="Researcher",
    role="You research topics and provide detailed findings.",
    model=OpenAIChat(id="gpt-5.6-luna"),
)

writer = Agent(
    name="Writer",
    role="You write clear, concise summaries from research findings.",
    model=OpenAIChat(id="gpt-5.6-luna"),
)

team = Team(
    name="Research Team",
    model=OpenAIChat(id="gpt-5.6-luna", base_url="http://localhost:1/v1", retries=0),
    fallback_models=[Claude(id="claude-sonnet-4-20250514")],
    members=[researcher, writer],
    instructions=[
        "Coordinate with the researcher and writer to answer the user question.",
    ],
    markdown=True,
    show_members_responses=True,
)

if __name__ == "__main__":
    team.print_response("What are the benefits of sleep?", stream=True)

Before running

The primary leader deliberately connects to the closed local port 1 to demonstrate a connection failure. The fallback applies to the leader; member agents still use their own OpenAI models and need OPENAI_API_KEY. Ordinary non-retryable provider errors such as invalid credentials (401/403) do not activate the general fallback list.

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U agno anthropic openai

Export your API keys

export ANTHROPIC_API_KEY="your_anthropic_api_key_here"
export OPENAI_API_KEY="your_openai_api_key_here"

Run the example

Save the code above as basic_fallback.py, then run:

python basic_fallback.py

Full source: cookbook/03_teams/17_fallback_models/01_basic_fallback.py