mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 10:58:17 -05:00
[GH-ISSUE #22343] issue: Unable to use GPT-5.4 with native function calling and reasoning effort #35232
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @art12354 on GitHub (Mar 6, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/22343
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.8.8
Ollama Version (if applicable)
No response
Operating System
Debian 13
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
Conversation should work normally with the advanced params, as it does with the GPT-5.2 model.
Actual Behavior
Error:
Function tools with reasoning_effort are not supported for gpt-5.4 in /v1/chat/completions. Please use /v1/responses instead.Steps to Reproduce
Logs & Screenshots
Additional Information
No response
@Classic298 commented on GitHub (Mar 7, 2026):
OpenAI changed the availability for tool calls on this model. This is a provider issue.
@art12354 commented on GitHub (Mar 7, 2026):
OpenAI will not change this, and is in fact a change that will be ongoing with their newer models. If open-webUI wants to stay relevant, open-webUI needs to be able to support those models.
@Classic298 commented on GitHub (Mar 7, 2026):
@art12354 model is supported via OpenResponses.
You tried using the model on completions endpoint
Configuration error
@Classic298 commented on GitHub (Mar 7, 2026):
Why do you try to use a model that is not available on completions endpoint... on completions endpoint?
Switch to Responses Format in the connection settings.
@art12354 commented on GitHub (Mar 7, 2026):
@Classic298 gotcha. I switched to responses in the connection settings and it almost works. New error this time:
Unsupported parameter: 'reasoning_effort'. In the Responses API, this parameter has moved to 'reasoning.effort'. Try again with the new parameter. See the API documentation for more information: https://platform.openai.com/docs/api-reference/responses/create.Removing the Reasoning Effort advanced param and then adding a custom advanced param
reasoning.effortwith a value oflowresults in this error:Unknown parameter: 'reasoning.effort'.Trying the custom advanced param of
reasoningwith value of{effort: "low"}responds with:Invalid type for 'reasoning': expected an object, but got a string instead.@gaby commented on GitHub (Mar 7, 2026):
@art12354 This one is correct
"reasoning":{"effort": "low"}but it seems that OpenWebUI is sending these fields as strings.Try adding quotes to "effort".
@hasheth commented on GitHub (Mar 7, 2026):
@art12354 were you able to figure this out? if yes can you please tell me how to make it work?
@hasheth commented on GitHub (Mar 7, 2026):
ran gpt-5.4 model with Responses API and the following advanced parameters
Function Calling: Native
Reasoning Effort: Default
added a new custom param
reasoning: {"effort": "medium"}
I don't get any errors but, still I'm not getting a response back it is just stuck in that tool call execution
@art12354 @Classic298 @gaby were you able to figure out a fix for this?
@gaby commented on GitHub (Mar 7, 2026):
@hasheth enable debug logs in open-webui.
@Classic298 I think this is a bug, fields are being sent as string.
@Classic298 commented on GitHub (Mar 7, 2026):
@gaby openai changed the schema
Openai now wants reasoning.effort (as also evident by the error message)
Should be added to the openresponses tracking ticket for now
OpenAI changed some stuff on the api particularly with gpt-5.4
Litellm also released a patch version where they addressed some of this because gpt-5.4 behaves differently on the api to gpt-5.2
@niv-l commented on GitHub (Apr 12, 2026):
Any updates on this?
@guanghaoch commented on GitHub (Apr 22, 2026):
Waiting for a solution.
@Classic298 commented on GitHub (Apr 22, 2026):
The solution is to use the correct parameters. Its not reasoning_effort anymore on responses api.
Check openAI docs - and use model Parameters > custom parameters at the end to add a custom Parameter for reasoning and/or summary
@guanghaoch commented on GitHub (Apr 22, 2026):
Thanks. I understand what you're instructing but it doesn't work on my end.
I change the per model advanced parameter as the following (GPT-5.4):
The JSON preview also shows (set reasoing_effort to Default to remove it from JSON):
But the chat still throws error:
The Controls panel does not show the custom parameters either:
@Classic298 commented on GitHub (Apr 22, 2026):
It's not called reasoning_effort anymore on responses
@guanghaoch commented on GitHub (Apr 22, 2026):
Jeez i know.
Apparently the reasoning_effort is carried somewhere in the upstream and I can't remove it by simply adding reasoning.effort parameter.
@Classic298 commented on GitHub (Apr 22, 2026):
It should be
reasoning
{ "effort": "medium" }