Fallback Models: Callback Notification
Register a FallbackConfig callback that fires when a fallback model serves the request.
Use the callback parameter on FallbackConfig to get notified when a fallback model is activated. This is useful for metrics, alerting, or logging which model actually served a request.
"""
Fallback Models — Callback Notification
==========================================
Use the ``callback`` parameter on FallbackConfig to get notified
when a fallback model is activated. This is useful for metrics,
alerting, or logging which model actually served a request.
The callback fires *after* the fallback model succeeds (including
after the full stream completes for streaming calls).
"""
from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.models.fallback import FallbackConfig
from agno.models.openai import OpenAIChat
# ---------------------------------------------------------------------------
# Define a callback
# ---------------------------------------------------------------------------
def on_fallback(
primary_model_id: str, fallback_model_id: str, error: Exception
) -> None:
print(f"[fallback] {primary_model_id} -> {fallback_model_id} (reason: {error})")
# ---------------------------------------------------------------------------
# Create Agent with callback
# ---------------------------------------------------------------------------
agent = Agent(
model=OpenAIChat(id="gpt-5.6-luna", base_url="http://localhost:1/v1", retries=0),
fallback_config=FallbackConfig(
on_error=[Claude(id="claude-sonnet-4-20250514")],
callback=on_fallback,
),
)
# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
agent.print_response("What is the meaning of life?", stream=True)Use a current fallback model
Before running, replace every Claude(id="claude-sonnet-4-20250514") with Claude(id="claude-sonnet-4-6"). The original Sonnet 4 API model retired on June 15, 2026; see Claude model deprecations. The source is preserved above, and the setup still requires both providers' API keys.
Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U agno anthropic openaiExport 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 fallback_callback.py, then run:
python fallback_callback.pyFull source: cookbook/02_agents/17_fallback_models/04_fallback_callback.py