Enable Thinking
Enable thinking at the Agent level using theenableThinking parameter:
Provider-Specific Defaults
Each provider has sensible defaults whenenableThinking: true:
- OpenAI Responses: Uses
reasoningSummary: detailedautomatically - Anthropic: Uses 4096 token budget for extended thinking
- Google: Uses dynamic token budget (model decides based on task complexity)
Advanced Configuration
For fine-tuning provider-specific behavior, use the options classes:OpenAI Responses
Anthropic
Key Points
- The reasoning stream is emitted through
ChatResult.thinking(aString?) - Thinking doesn’t appear in
ChatMessage.parts(not sent back to model) - You control where (or if) thinking is displayed
- Important: When using Anthropic with tool calls, thinking blocks are automatically preserved in conversation history as required by their API. This increases token costs on subsequent turns.
Streaming Thinking
ChatResult.thinking, so you can render a live “thought bubble” while the model
is working. Each chunk may include text output, thinking, or both.
Examples
Related Topics
- Streaming Output – Combine thinking with live text
- Server-Side Tools – Providers can expose both thinking metadata and intrinsic tools

