Reasoning
RadarOS supports extended thinking (reasoning) across all major model providers. When enabled, the model produces an internal chain-of-thought before generating the final answer — improving performance on complex math, logic, and multi-step problems.Quick Start
Configuration
Enable or disable reasoning for this agent.
Reasoning effort level. OpenAI only — maps to
reasoning_effort parameter. Default: "medium".Maximum tokens allocated for the thinking phase. Anthropic, Google, Vertex AI — maps to
budget_tokens / thinkingBudget. Default: 10000.Provider Support
Each provider mapsReasoningConfig to its native API:
| Provider | API Parameter | Effort | Budget | Models |
|---|---|---|---|---|
| OpenAI | reasoning_effort | effort field | N/A | o1, o1-mini, o3-mini |
| Anthropic | thinking.budget_tokens | N/A | budgetTokens field | claude-sonnet-4-20250514 |
thinkingConfig.thinkingBudget | N/A | budgetTokens field | gemini-2.5-flash, gemini-2.5-pro | |
| Vertex AI | thinkingConfig.thinkingBudget | N/A | budgetTokens field | gemini-2.5-flash, gemini-2.5-pro |
When reasoning is enabled for OpenAI,
temperature is ignored (the API does not allow both). For Anthropic, the temperature parameter is removed when thinking is active.Output
When reasoning is enabled,RunOutput includes:
| Field | Type | Description |
|---|---|---|
thinking | string | undefined | The model’s internal chain-of-thought |
usage.reasoningTokens | number | undefined | Tokens consumed by the reasoning phase |
Streaming
During streaming, reasoning content is delivered asthinking chunks:
ReasoningConfig Type
Logging
WhenlogLevel is "info" or higher, the agent logger displays:
- Thinking content (truncated, italic, dimmed)
- Reasoning token count with a brain icon in the usage summary
Accessing Thinking Content
When reasoning is enabled, the model’s internal thinking is available inRunOutput.thinking:
thinking content is never shown to end users by default — it’s available for debugging, logging, or advanced use cases.
Reasoning with maxTokens
When reasoning is enabled on Anthropic,maxTokens must accommodate both thinking and response tokens. RadarOS handles this automatically:
- If
maxTokensis set but too small for the thinking budget, it’s overridden tobudgetTokens + 4096 - For example:
maxTokens: 1024withbudgetTokens: 2000results in an effectivemax_tokensof6096sent to the Anthropic API
max_tokens, set maxTokens to a value larger than budgetTokens + 1024.
Logging Reasoning Output
EnablelogLevel: "debug" to see thinking content in the console:
"info" level, only token usage summaries are logged. At "debug", the full thinking content is printed.