mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-10 23:55:15 -05:00
[GH-ISSUE #19777] Stop button disappears when Pipe calls generate_chat_completions internally #122300
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 @Yaute7 on GitHub (Dec 5, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/19777
Check Existing Issues
Installation Method
Docker
Open WebUI Version
0.6.36
Ollama Version (if applicable)
No response
Operating System
ubuntu 22.04
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
The Stop button should remain visible during the entire Pipe execution, including internal preprocessing calls to generate_chat_completions, allowing users to cancel at any time - just like it works when using models directly.
Actual Behavior
Stop button disappears immediately when a Pipe function calls
generate_chat_completionsinternally for preprocessing (like query classification). The button is replaced by the microphone icon even though the request is still processing.The Stop button works correctly when using a model directly (without the Pipe)
Steps to Reproduce
Create a Pipe function with this minimal code:
- Go to Workspace → Functions → Add Function
- Paste this code:
@owui-terminator[bot] commented on GitHub (Dec 5, 2025):
🔍 Similar Issues Found
I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:
#19563 issue:
by naruto7g • Nov 28, 2025 •
bug#19211 issue:
by Byrnes9 • Nov 16, 2025 •
bug#15638 issue:
by PaulX1029 • Jul 11, 2025 •
bug#17387 issue:
by abxis • Sep 12, 2025 •
bug#17389 issue:
by abxis • Sep 12, 2025 •
bugShow 5 more related issues
#17388 issue:
by abxis • Sep 12, 2025 •
bug#17392 issue:
by abxis • Sep 12, 2025 •
bug#17390 issue:
by abxis • Sep 12, 2025 •
bug#17391 issue:
by abxis • Sep 12, 2025 •
bug#17393 issue:
by abxis • Sep 12, 2025 •
bug💡 Tips:
This comment was generated automatically by a bot. Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
@Classic298 commented on GitHub (Dec 5, 2025):
Please give your issue a title
@rgaricano commented on GitHub (Dec 5, 2025):
When a Pipe function calls generate_chat_completions internally for preprocessing, it triggers the same event emission flow as a regular chat completion. The frontend receives these completion events and updates its state, causing the Stop button condition to evaluate to false.
You can bypass this behaviour instead of using
generate_chat_completionsinternally, make direct HTTP requests to the model APIcalling the API directly:(There are other ways
but this is the easier and with less possible "side-effects" )
@Yaute7 commented on GitHub (Dec 5, 2025):
@rgaricano Thanks for your help! I followed your advice and made progress:
What I did:
generate_chat_completionsfor proper streamingWhat I found:
The Stop button issue is specifically caused by re-injecting
session_idinto the body before callinggenerate_chat_completions.In my Pipe, I was doing:
@tjbck commented on GitHub (Dec 5, 2025):
Internal functions should not be used here.