AI Thinking Fields
This page only lists thinking and reasoning surfaces that were revalidated against Crazyrouter production on2026-03-22.
The key point is that different protocols expose “thinking” differently:
- OpenAI Responses returns a standalone
reasoningitem - Claude native Messages returns a
thinkingblock - Gemini Native is most reliably observed through
usageMetadata.thoughtsTokenCount
Currently verified fields
| Model | Protocol | Verified field or marker | Notes |
|---|---|---|---|
gpt-5.4 | Responses | output[].type = "reasoning" | Can return displayable summaries when summary is requested |
claude-opus-4-6-thinking | Anthropic Messages | content[].type = "thinking" | Returned alongside a text block |
gemini-3-pro-preview | Gemini Native | usageMetadata.thoughtsTokenCount | Confirms thinking tokens were actually used |
In the current recheck,
gpt-5.4 Chat Completions did not reliably return usable message.reasoning_content, so it is not treated as the primary observable field here.GPT: Responses reasoning item
Claude: thinking block
Gemini: thoughtsTokenCount
In the current production recheck, the most reliable observable signal was not a visible reasoning paragraph in the body, but a usage field:
- the thinking budget was actually used
- the request consumed thinking tokens during generation
Usage notes
- Do not assume every model returns raw chain-of-thought text
- Do not mix thinking fields across protocols
- For logging, auditing, or UI display, decide per protocol whether to read
reasoning,thinking, orthoughtsTokenCount