Streaming Agent

Stream a Claude response through an Agno agent.

from agno.agent import Agent
from agno.models.anthropic import Claude

agent = Agent(
    model=Claude(id="claude-sonnet-4-5-20250929"),
    markdown=True,
)

if __name__ == "__main__":
    agent.print_response("Write a two-sentence horror story.", stream=True)

stream=True emits content as it arrives. When iterating over agent.run() directly, set stream_events=True to include lifecycle and tool events in addition to content events.

agent.run(..., stream=True) returns an iterator. API or network errors that occur after the stream starts are raised while that iterator is consumed.

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]"

Set your API key

export ANTHROPIC_API_KEY="your_anthropic_api_key"

Save and run

Save the example as basic_stream.py, then run:

python basic_stream.py