Skip to content
Changelog

GPT-6 models now count as native reasoning models

October 1, 20261 min read

Agno's is_openai_reasoning_model check now matches any OpenAI model ID that contains gpt-6, so gpt-6-astra, gpt-6-sol, gpt-6-luna and prefixed IDs like us.openai.gpt-6-astra all pass. The match applies to OpenAIChat, OpenAIResponses, AzureOpenAI and AzureOpenAIResponses, the same four classes that already covered the o1, o3, o4 and gpt-5 families.

That check decides what happens to a separate reasoning_model. When it passes, Agno's reasoning manager hands your messages to the model as an OpenAI reasoning stage and feeds the result to the main model. When it fails, the manager logs a warning and the agent carries on, so the main model answers with no reasoning stage at all. Earlier releases took that second path for every GPT-6 model:

from agno.agent import Agent
from agno.models.openai import OpenAIResponses
 
agent = Agent(
    model=OpenAIResponses(id="gpt-4.1"),
    reasoning_model=OpenAIResponses(id="gpt-6-astra"),
)

We ran the check and the reasoning manager offline on the previous release and on this one:

Before
OpenAIResponses(id='gpt-6-astra'): is_openai_reasoning_model -> False
OpenAIResponses(id='gpt-6-sol'): is_openai_reasoning_model -> False
OpenAIChat(id='gpt-6-luna'): is_openai_reasoning_model -> False
WARNING Reasoning model OpenAIResponses is not a native reasoning model. Reasoning requires a native model (DeepSeek-R1, OpenAI o1/o3, Claude with thinking, etc.) or use ReasoningTools for manual chain-of-thought.
 
Now
OpenAIResponses(id='gpt-6-astra'): is_openai_reasoning_model -> True
OpenAIResponses(id='gpt-6-sol'): is_openai_reasoning_model -> True
OpenAIChat(id='gpt-6-luna'): is_openai_reasoning_model -> True
is_native_reasoning_model: True

GPT-5 IDs and non-reasoning models detect exactly as before. The new cookbook uses GPT-6 Astra as the main model, streaming its answer and reasoning summary to a bridge-crossing puzzle.

See the cookbook, and learn more about reasoning models in the documentation.

Frequently asked questions

Any ID containing gpt-6 on OpenAIChat, OpenAIResponses, AzureOpenAI or AzureOpenAIResponses. That covers gpt-6-astra, gpt-6-sol and gpt-6-luna, plus prefixed IDs such as us.openai.gpt-6-astra.

Agno's OpenAI reasoning check only knew the o1, o3, o4 and gpt-5 families before this release, so the reasoning manager rejected a GPT-6 model and the run continued without a reasoning stage. Upgrading makes the same agent run the reasoning stage on that model.

Yes. The gpt_6.py cookbook streams a gpt-6-astra answer through OpenAIResponses with reasoning_effort="medium" and reasoning_summary="auto", so the reasoning summary prints alongside the answer.

Shipped around the same time