Streaming
Streaming is how ACP exposes live work. Instead of waiting for a final answer, you can consume event streams for status changes, working logs, assistant deltas, and execution milestones while a thread is running.
Stream execution events
ACP can emit incremental events during execution so applications can render work in progress rather than polling for a final result. This makes thread execution feel operational instead of opaque.
Render model reasoning separately from tool progress
ACP reasoning events represent thinking summaries produced by the model. Generic tool progress such as file reads, shell command labels, or status text should be rendered as execution logs, not as reasoning.
Handle permission requests while a thread is running
A running thread can pause in permission_asked state when the runtime needs approval for an action. The SDK exposes pending requests and decision endpoints so your product can approve or deny without polling unrelated state.
Build responsive interfaces
Streaming lets ACP-powered products surface activity without blocking. It is especially valuable when agents are working against persistent computers, browsing, or changing files over a longer period of time.
Operationalize long-running runs
Streaming becomes more important as ACP runs grow longer and more stateful. It gives developers a consistent way to monitor work, detect stalls, and understand what is happening inside a run before it finishes.