Skip to main content
Use stream() when your interface should show an agent’s response or tool activity while the run is still in progress. It starts the same resumable state machine as run() with a streaming model client.

Stream text

Read the result in more than one place

Stream consumers are replayable, so rendering, telemetry, and persistence code can consume the same run concurrently:

Choose a stream

  • getTextStream() yields answer text.
  • getReasoningStream() yields reasoning updates when the model provides them.
  • getItemsStream() yields typed AgentItem<TOutput> values for messages, reasoning, tool activity, errors, and final outputs.
  • getToolStream() yields tool activity.
  • getFullStream() yields complete runtime events.
Use cancel() to abort the run. Local tools receive cancellation through their runtime signal.

Stream tool progress

Tools implemented as async generators can publish preliminary results. These appear in the full stream as tool.preliminary_result events and remain attached to the completed step.
Last modified on July 26, 2026