Thinking Levels
This page is grounded in:
crates/protocol/src/lib.rscrates/tui/src/app/update/keys.rscrates/tui/src/app/update/core_events.rscrates/provider/src/llm_api/types.rscrates/provider/src/providers/openai_responses.rscrates/provider/src/providers/anthropic.rs
Levels
Protocol-level thinking levels are:
MinimalLowMediumHighMax
TUI cycling (Alt+T)
Alt+T (and Alt+Shift+T) cycles this sequence:
Off(None) ->Medium->High->Max->Off
Minimal and Low are valid protocol values but are not part of the current keyboard cycle.
If the active model does not support reasoning, TUI keeps the value unchanged and shows:
Current model doesn't support thinking
Support is resolved from ModelRegistry via provider+model metadata.
Provider mapping
Swarmie maps protocol levels to provider-internal levels:
Max-> internalXhigh- other levels map 1:1 (
Minimal/Low/Medium/High)
OpenAI Responses mapping uses effort strings:
minimal,low,medium,high,xhigh
Anthropic mapping uses either:
- adaptive mode for models that support xhigh
- budget-token mode (
Low/Medium/Highbudgets) Minimaldisables thinking for Anthropic payloads
UI visibility
- Footer shows
Thinking: <Level>when set. - Streaming reasoning text appears as
[thinking] ...in output rendering.