# GPT-6 models now count as native reasoning models

> A GPT-6 model set as an Agno agent's reasoning_model now runs the native reasoning stage. Earlier releases skipped that stage with a "not a native reasoning model" warning.

- Published: 2026-10-01
- Author: Ray
- Categories: Changelog
- Canonical: https://www.agno.com/blog/gpt-6-models-now-count-as-native-reasoning-models
- Markdown: https://www.agno.com/blog/gpt-6-models-now-count-as-native-reasoning-models.md

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:

```python
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:

```text
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](https://github.com/agno-agi/agno/blob/main/cookbook/10_reasoning/models/openai/gpt_6.py), and learn more about [reasoning models](https://docs.agno.com/reasoning/reasoning-models) in the documentation.
