[GH-ISSUE #23988] issue: __event_emitter__ pipe field is not set for subsequent requests after tool calls #123452

Closed
opened 2026-05-21 02:44:29 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @moritzderallerechte on GitHub (Apr 22, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/23988

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

Git Clone

Open WebUI Version

v0.9.1

Ollama Version (if applicable)

No response

Operating System

Ubuntu

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 a pipe, when a model calls tools from OWUI and the generation is continued afterwards, the subsequent calls to the pipe(...) function should have the event_emitter field set like usual.

Actual Behavior

The event_emitter field is None after the first tool call.

Steps to Reproduce

  1. Have a pipe function that calls event_emitter
  2. Ask the model to do a tool call
  3. TypeError: 'NoneType' object is not callable

Logs & Screenshots

Below is a shortened log of a pipe function that does
logger.info(f"__event_emitter__: {__event_emitter__}")
at the very beginning.

function:pipe:1035 - event_emitter: <function get_event_emitter..event_emitter at 0x79a2099b9080>
function:pipe:1036 - task: None
function:pipe:1037 - task body:
...
function:process:919 - Streaming API response
...
function:pipe:1189 - pipe function done
open_webui.retrieval.utils:query_collection_with_hybrid_search:623 - Starting hybrid search for 1 queries in 1 collections...
open_webui.retrieval.utils:query_doc_with_hybrid_search:432 - query_doc_with_hybrid_search:result [...]
function:pipe:1035 - event_emitter: None
function:pipe:1036 - task: None
function:pipe:1037 - task body:
...
function:process_openrouter_response:919 - Streaming API response!
...
function:raise_status_message:274 - raise_status_message
function:pipe:1192 - Traceback (most recent call last):
File "", line 1183, in pipe
File "", line 1023, in process
File "", line 276, in raise_status_message

Additional Information

This issue did not exists in v0.8.12

Originally created by @moritzderallerechte on GitHub (Apr 22, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/23988 ### 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 Git Clone ### Open WebUI Version v0.9.1 ### Ollama Version (if applicable) _No response_ ### Operating System Ubuntu ### 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 a pipe, when a model calls tools from OWUI and the generation is continued afterwards, the subsequent calls to the pipe(...) function should have the __event_emitter__ field set like usual. ### Actual Behavior The __event_emitter__ field is _None_ after the first tool call. ### Steps to Reproduce 1. Have a pipe function that calls __event_emitter__ 2. Ask the model to do a tool call 3. TypeError: 'NoneType' object is not callable ### Logs & Screenshots Below is a shortened log of a pipe function that does `logger.info(f"__event_emitter__: {__event_emitter__}")` at the very beginning. > **function:pipe:1035 - __event_emitter__: <function get_event_emitter.<locals>.__event_emitter__ at 0x79a2099b9080>** > function:pipe:1036 - task: None > function:pipe:1037 - task body: > ... > function:process:919 - Streaming API response > ... > function:pipe:1189 - pipe function done > open_webui.retrieval.utils:query_collection_with_hybrid_search:623 - Starting hybrid search for 1 queries in 1 collections... > open_webui.retrieval.utils:query_doc_with_hybrid_search:432 - query_doc_with_hybrid_search:result [...] > **function:pipe:1035 - __event_emitter__: None** > function:pipe:1036 - task: None > function:pipe:1037 - task body: > ... > function:process_openrouter_response:919 - Streaming API response! > ... > function:raise_status_message:274 - raise_status_message > function:pipe:1192 - Traceback (most recent call last): > File "<string>", line 1183, in pipe > File "<string>", line 1023, in process > File "<string>", line 276, in raise_status_message ### Additional Information This issue did not exists in v0.8.12
GiteaMirror added the bug label 2026-05-21 02:44:29 -05:00
Author
Owner

@tjbck commented on GitHub (Apr 24, 2026):

Addressed in dev.

<!-- gh-comment-id:4311377565 --> @tjbck commented on GitHub (Apr 24, 2026): Addressed in dev.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#123452