When upgrading my model version from 5.4 to 5.6-*, I am now getting this error message when making chat completion requests:
Function tools with reasoning_effort are not supported for gpt-5.6-sol in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.'
This is possible to correct in my C#/.NET usage via the official SDK by forcing all usages to “none”, however this was not required with prior models. We have added pressure at code review time because the current DLL requires setting compiler directives to allow use of the reasoning effort property which is still marked as experimental for some reason(?).
I am also seeing the same error when copilot in Visual Studio is configured to use 5.6 as a custom model in a similar way. I have not found a workaround for these issues yet.
Blocking developer functions on reasoning models started with gpt-5.4.
It is really quite pointless and aggravating. Pointing the application at Gemini’s Chat Completions instead of OpenAI’s push for use of Responses lock-in is more likely (and Google figured out how to return the reasoning summary on it, also).
The goal is likely to encourage you to maintain multi-turn reasoning during tool calls so a plan has a place where it can continue to be seen by the AI model. However, a developer doesn’t need to be babysat with denials and unmet promise that Chat Completions is still a mainline supported API method.
You can get the same tool use responses on Responses API with self-managed conversations that wouldn’t maintain reasoning:
Don’t manually include the “include” parameter you must remember in order to get encrypted reasoning. The default of the API with store:false is actually not to supply the reasoning.
Don’t include that requested reasoning object in input chat session replays.
Function tools should not be blocked and default reasoning should not be blocked on Chat Completions. Don’t nanny developers. Agreed.