✓ PASS
pydantic-ai 2.61.0
request.tools-with-reasoning-chat · openai-chat
Requirements
| Id | Level | Status | Evidence |
|---|---|---|---|
| error-reported | MUST | SATISFIED | outcome=raised; error.category="api"; finish.value=null (absent); truth.finish="error"; required categories=["api", "validation"] |
What the provider sent
- Finish
- error
- Raw finish
null
- Text
null
- Tool calls
[]
- Usage
{ "alternatives": {}, "cached_input": null, "input": null, "output": null, "raw": null, "reasoning": null, "total": null }- Stream completed
null
- Error
- Message
- Function tools with reasoning_effort are not supported for gpt-6-luna in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.
- Status
400
- Type
- invalid_request_error
- Code
null
Wire excerpt
status: 400
content-type: application/json
body (json):
{
"error": {
"message": "Function tools with reasoning_effort are not supported for gpt-6-luna in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.",
"type": "invalid_request_error",
"param": "reasoning_effort",
"code": null
}
}What the library reported
- Outcome
- raised
- Finish
{ "raw": null, "source": null, "surface": "absent", "value": null }- Text
- Value
null
- Surface
- absent
- Tool calls
[]
- Usage
{ "cached_input": null, "input": null, "output": null, "reasoning": null, "surface": { "cached_input": "absent", "input": "absent", "output": "absent", "reasoning": "absent", "total": "absent" }, "total": null }- Stream
{ "chunks_seen": null, "completed": null, "used": false }- Error
- Type
- pydantic_ai.exceptions.ModelHTTPError
- Message
- status_code: 400, model_name: gpt-6-luna, body: {'message': "Function tools with reasoning_effort are not supported for gpt-6-luna in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.", 'type': 'invalid_request_error', 'param': 'reasoning_effort', 'code': None}
- Category
- api
- Retry after
null
- Stack top
- pydantic_ai/models/openai.py:259
- Unsupported reason
null
Full observation JSON
{
"elapsed_ms": 196.50324992835522,
"error": {
"category": "api",
"message": "status_code: 400, model_name: gpt-6-luna, body: {'message': \"Function tools with reasoning_effort are not supported for gpt-6-luna in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.\", 'type': 'invalid_request_error', 'param': 'reasoning_effort', 'code': None}",
"retry_after": null,
"stack_top": "pydantic_ai/models/openai.py:259",
"type": "pydantic_ai.exceptions.ModelHTTPError"
},
"finish": {
"raw": null,
"source": null,
"surface": "absent",
"value": null
},
"format": "wiretruth.observation/v1",
"library": {
"api": "Agent.run",
"language": "python",
"name": "pydantic-ai",
"version": "2.61.0"
},
"notes": [],
"outcome": "raised",
"stream": {
"chunks_seen": null,
"completed": null,
"used": false
},
"structured": {
"attempted": false,
"returned_as_success": false,
"value": null
},
"text": {
"surface": "absent",
"value": null
},
"tool_calls": [],
"unsupported_reason": null,
"usage": {
"cached_input": null,
"input": null,
"output": null,
"reasoning": null,
"surface": {
"cached_input": "absent",
"input": "absent",
"output": "absent",
"reasoning": "absent",
"total": "absent"
},
"total": null
}
}Fixture
recorded openai-chat/request.tools-with-reasoning-chat
| Provenance | Value |
|---|---|
| Recorded at | 2026-10-11T12:00:53Z |
| Requested model | gpt-6-luna |
| Returned model | unavailable |
| CI run | https://github.com/kartsan03/wiretruth/actions/runs/38137650119 |
Reproduce
wiretruth serve openai-chat/request.tools-with-reasoning-chatPlain-library snippet from the shim manifest.
OpenAIChatModel(model, provider=OpenAIProvider(base_url=WIRETRUTH_BASE_URL_OPENAI_CHAT, api_key=WIRETRUTH_API_KEY))Upstream
No matching upstream report.
History
| Version | Grade |
|---|---|
| 2.61.0 | ✓ PASS |
| 2.56.0 | ✓ PASS |