mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-05 18:38:17 -05:00
[GH-ISSUE #20320] [Bug]: Crash loop when loading filter functions with dependencies in restricted environments (uv/nixpkgs) #19149
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 @fractuscontext on GitHub (Jan 2, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/20320
Check Existing Issues
Installation Method
Pip Install
Open WebUI Version
v0.6.43
Ollama Version (if applicable)
No response
Operating System
macOS Seqouia
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
When loading a filter function with a
requirementsfrontmatter (e.g.,requirements: httpx>=0.24.0), the system should check if the package is already installed in the current environment. If the package exists and satisfies the version requirement, it should skip the installation processActual Behavior
The system unconditionally attempts to run
pip installviasubprocessfor every requirement listed in the frontmatter, regardless of whether it is already installed.In environments managed by tools like
uvornix, shelling out topipoften fails (returning exit code 1) because the environment is locked orpipis not available in the expected path. This causes the backend to crash with asubprocess.CalledProcessError, even if the required package (e.g.,httpx) is already present in site-packages.Steps to Reproduce
httpxrequirements: httpx>=0.24.0), viaAdmin Panel → Functions → + (Add Function) → {Paste Code}i.e.Logs & Screenshots
Additional Information
It seems to caused by install_frontmatter_requirements in
open_webui/utils/plugin.py(or similar loader logic) calling subprocess.check_call without verifying importlib.metadata first.@owui-terminator[bot] commented on GitHub (Jan 2, 2026):
🔍 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:
#20128 issue: Characters are broken in 0.6.43
by frenzybiscuit • Dec 22, 2025 •
bug#20155 issue:
by dhaern • Dec 24, 2025 •
bug#20196 issue:
by dhaern • Dec 27, 2025 •
bug#20107 issue:
by mengdeer589 • Dec 22, 2025 •
bug#19844 bug: logs truncated on crash in containerized setting, Dockerfile missing
ENV PYTHONUNBUFFERED=1by wilson0x4d • Dec 09, 2025 •
bugShow 5 more related issues
#19877 issue:
by dotmobo • Dec 11, 2025 •
bug#19777 issue:
by Yaute7 • Dec 05, 2025 •
bug#19861 issue:
by QuitHub • Dec 10, 2025 •
bug#19438 issue: Icon loading regression
by JoelShepard • Nov 24, 2025 •
bug#19211 issue:
by Byrnes9 • Nov 16, 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.
@tjbck commented on GitHub (Jan 4, 2026):
OFFLINE_MODEintroduced in dev will bypass this check!