[GH-ISSUE #22343] issue: Unable to use GPT-5.4 with native function calling and reasoning effort #35232

Closed
opened 2026-04-25 09:27:53 -05:00 by GiteaMirror · 17 comments
Owner

Originally created by @art12354 on GitHub (Mar 6, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/22343

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

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

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

  • Using OpenAI API endpoint
  • using the GPT-5.4 model
  • using advanced params
    • Function Calling: Native
    • Reasoning Effort: low

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

  • Using OpenAI API endpoint
  • using the GPT-5.4 model
  • using advanced params
    • Function Calling: Native
    • Reasoning Effort: low

Logs & Screenshots

Image

Additional Information

No response

Originally created by @art12354 on GitHub (Mar 6, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/22343 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### 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 - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior - Using OpenAI API endpoint - using the GPT-5.4 model - using advanced params - Function Calling: Native - Reasoning Effort: low 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 - Using OpenAI API endpoint - using the GPT-5.4 model - using advanced params - Function Calling: Native - Reasoning Effort: low ### Logs & Screenshots <img width="1591" height="953" alt="Image" src="https://github.com/user-attachments/assets/c8355bc2-62c9-4af9-91ef-f1e26f19f107" /> ### Additional Information _No response_
GiteaMirror added the bug label 2026-04-25 09:27:53 -05:00
Author
Owner

@Classic298 commented on GitHub (Mar 7, 2026):

OpenAI changed the availability for tool calls on this model. This is a provider issue.

<!-- gh-comment-id:4014865560 --> @Classic298 commented on GitHub (Mar 7, 2026): OpenAI changed the availability for tool calls on this model. This is a provider issue.
Author
Owner

@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.

<!-- gh-comment-id:4014884561 --> @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.
Author
Owner

@Classic298 commented on GitHub (Mar 7, 2026):

@art12354 model is supported via OpenResponses.

You tried using the model on completions endpoint

Configuration error

<!-- gh-comment-id:4014958637 --> @Classic298 commented on GitHub (Mar 7, 2026): @art12354 model is supported via OpenResponses. You tried using the model on completions endpoint Configuration error
Author
Owner

@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.

<!-- gh-comment-id:4014962158 --> @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.
Author
Owner

@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.effort with a value of low results in this error:

Unknown parameter: 'reasoning.effort'.

Trying the custom advanced param of reasoning with value of {effort: "low"} responds with:

Invalid type for 'reasoning': expected an object, but got a string instead.

<!-- gh-comment-id:4015009885 --> @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.effort` with a value of `low` results in this error: `Unknown parameter: 'reasoning.effort'.` Trying the custom advanced param of `reasoning` with value of `{effort: "low"}` responds with: `Invalid type for 'reasoning': expected an object, but got a string instead.`
Author
Owner

@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".

<!-- gh-comment-id:4015305728 --> @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".
Author
Owner

@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?

<!-- gh-comment-id:4015847735 --> @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?
Author
Owner

@hasheth commented on GitHub (Mar 7, 2026):

Image Image

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?

<!-- gh-comment-id:4015908100 --> @hasheth commented on GitHub (Mar 7, 2026): <img width="3290" height="912" alt="Image" src="https://github.com/user-attachments/assets/0cdedd7d-3260-4bb0-8a6e-ddc8c80d2a13" /> <img width="720" height="274" alt="Image" src="https://github.com/user-attachments/assets/c58ebc81-264f-4951-8d39-b24b1e4a40e8" /> 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?
Author
Owner

@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.

<!-- gh-comment-id:4015919430 --> @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.
Author
Owner

@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

<!-- gh-comment-id:4016011800 --> @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
Author
Owner

@niv-l commented on GitHub (Apr 12, 2026):

Any updates on this?

<!-- gh-comment-id:4232884468 --> @niv-l commented on GitHub (Apr 12, 2026): Any updates on this?
Author
Owner

@guanghaoch commented on GitHub (Apr 22, 2026):

Waiting for a solution.

<!-- gh-comment-id:4300315735 --> @guanghaoch commented on GitHub (Apr 22, 2026): Waiting for a solution.
Author
Owner

@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

<!-- gh-comment-id:4300347997 --> @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
Author
Owner

@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):

Image

The JSON preview also shows (set reasoing_effort to Default to remove it from JSON):

Image

But the chat still throws error:

Image

The Controls panel does not show the custom parameters either:

Image
<!-- gh-comment-id:4300457346 --> @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): <img width="873" height="103" alt="Image" src="https://github.com/user-attachments/assets/418e8bb9-56ab-46f3-aa0e-623ee1533f39" /> The JSON preview also shows (set reasoing_effort to Default to remove it from JSON): <img width="269" height="251" alt="Image" src="https://github.com/user-attachments/assets/b871a2ee-da36-4e2b-885b-b7099b4de221" /> But the chat still throws error: <img width="405" height="377" alt="Image" src="https://github.com/user-attachments/assets/0e778003-e335-41dc-9f63-0cc414ebf05e" /> The Controls panel does not show the custom parameters either: <img width="346" height="347" alt="Image" src="https://github.com/user-attachments/assets/4b4312a6-f7f8-4c89-8ae3-3c609011a22d" />
Author
Owner

@Classic298 commented on GitHub (Apr 22, 2026):

It's not called reasoning_effort anymore on responses

<!-- gh-comment-id:4300623124 --> @Classic298 commented on GitHub (Apr 22, 2026): It's not called reasoning_effort anymore on responses
Author
Owner

@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.

<!-- gh-comment-id:4300661873 --> @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.
Author
Owner

@Classic298 commented on GitHub (Apr 22, 2026):

It should be

reasoning
{ "effort": "medium" }

<!-- gh-comment-id:4300678061 --> @Classic298 commented on GitHub (Apr 22, 2026): It should be reasoning { "effort": "medium" }
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#35232