Skip to main content

Stream responses

Streaming lets you receive Claude’s response in real-time as it’s generated, providing a better user experience for longer responses.

Basic Streaming

Prompt Streaming

Session Streaming

Event Types

Text Events

Text content as it’s generated:

Tool Use Events

When Claude decides to call a tool:

Tool Result Events

After a tool finishes executing:

Thinking Events

Extended thinking (for supported models):

Error Events

Errors during streaming:
For low-level event details, see WebSocket Events.

Complete Example

Python Streaming

Browser Usage

Display streaming text in a browser:

With React

Buffering Strategies

Character-by-character

Word-by-word

Sentence-by-sentence

Performance Tips

Instead of updating the DOM on every text event, batch updates:
For better performance with large amounts of text:
If the user navigates away, cancel the stream: