Summary
OpenAI's GPT-6 model family splits tool use across two endpoints. Function calling over Chat Completions is either unavailable or restricted to non-reasoning requests, depending on the model; combining tools with reasoning requires the Responses API. The rules differ per model (Astra, 6.1 Sol, 6 Sol, 6 Luna) for which reasoning_effort values are accepted, what an omitted effort defaults to, and whether sampling parameters are legal. This page records those constraints and how a client library (yoagent) and an agent (yoyo) map — or fail to map — onto them.
Key Points
- Chat Completions does not support function calling for GPT-6 Astra and GPT-6.1 Sol. Tool calling on those models requires the Responses API.
- GPT-6 Sol and GPT-6 Luna do allow function calling on Chat Completions, but only when
reasoning_effortisnone. Reasoning plus tools still means Responses. reasoning_effort: noneis rejected (HTTP 400) by Astra and 6.1 Sol. 6.1 Sol additionally rejectsminimal.- Omitted effort defaults to
mediumfor 6.1 Sol, 6 Sol, and 6 Luna. - When effort is anything other than
none, removetemperature,top_p, andtop_logprobsfrom the request. - Net effect: for every GPT-6 id, "Chat Completions + tools + reasoning" is an unsupported combination. Astra and 6.1 Sol cannot use Chat Completions with tools at all, since the only effort value that would permit it is the value they reject.
Concepts
- Responses API — the endpoint that supports reasoning together with tool calls across the GPT-6 family.
- Chat Completions — legacy endpoint; tool support for GPT-6 is absent or gated on
reasoning_effort: none. reasoning_effort— per-request reasoning budget; accepted values and defaults vary by model.