Skip to content

thinking="minimal" sends unsupported reasoning effort to GPT-5.6 models #7081

Description

@daikeren

Initial Checks

  • I'm using the latest version of Pydantic AI
  • I've searched for my issue in the issue tracker before opening this issue

Description

The unified thinking='minimal' setting maps directly to OpenAI's reasoning_effort='minimal'. All three GPT-5.6 variants reject that value with HTTP 400; their lowest supported active effort is low.

Live requests against both the Responses and Chat Completions APIs confirmed this for gpt-5.6-luna, gpt-5.6-sol, and gpt-5.6-terra. The Responses error is:

Unsupported value: 'minimal' is not supported with the 'gpt-5.6-sol' model. Supported values are: 'none', 'low', 'medium', 'high', 'xhigh', and 'max'.

Pydantic AI's unified thinking contract says unsupported levels map to the closest available value, so thinking='minimal' should map to low for GPT-5.6. An explicit provider-specific openai_reasoning_effort='minimal' should remain unchanged and let OpenAI report the incompatibility, consistent with provider-specific setting behavior.

Minimal, Reproducible Example

from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIResponsesModel

agent = Agent(OpenAIResponsesModel('gpt-5.6-sol'), model_settings={'thinking': 'minimal'})
agent.run_sync('Reply with OK.')  # OpenAI returns HTTP 400

Python, Pydantic AI & LLM client version

  • Python: 3.12.9
  • Pydantic AI: current main (051a92a2)
  • LLM provider SDK: OpenAI 2.63.0

Metadata

Metadata

Assignees

Labels

bugReport that something isn't working, or PR implementing a fixopenaip:2-highSignal 7-8: plan for this week.provider-paritypydanty:bugManaged by pydanty dogfooding automationthinking

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions