mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 19:08:59 -05:00
[GH-ISSUE #20666] issue: knowledge sharing in groups member broken #57921
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 @janl772 on GitHub (Jan 14, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/20666
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.7.2
Ollama Version (if applicable)
0.13.5
Operating System
Debian 12
Browser (if applicable)
firefox 146.0.1, edge 143.0.3650.96
Confirmation
README.md.Expected Behavior
I am part of a group named "TestGroup" and admin has sharing permissions enabled for "members" for this group as well as USER_PERMISSIONS_WORKSPACE_KNOWLEDGE_ALLOW_SHARING=True.
When I create a knowledge database and want to share to "TestGroup", I should be able to select it and share knowledge accordingly to fellow members of that group.
Actual Behavior
When I open sharing window, app freezes and I have to reload. I cannot select my "TestGroup" for sharing:
Steps to Reproduce
Logs & Screenshots
2026-01-14 14:42:06.187 | ERROR | uvicorn.protocols.http.httptools_impl:run_asgi:421 - Exception in ASGI application
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
│ │ └ <function DefaultDialect.do_execute at 0x7f9fc8996ac0>
│ └ <sqlalchemy.dialects.postgresql.psycopg2.PGDialect_psycopg2 object at 0x7f9f0bfcff90>
└ <sqlalchemy.engine.base.Connection object at 0x7f9e4293c910>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
│ │ │ └ {'data_1': 'config', 'param_1': 'share', 'param_2': 'members', 'user_id_1': 'e74c4770-cdee-44e9-9d7c-d74365a479c6'}
│ │ └ 'SELECT "group".id AS group_id, "group".user_id AS group_user_id, "group".name AS group_name, "group".description AS group_de...
│ └ <method 'execute' of 'psycopg2.extensions.cursor' objects>
└ <cursor object at 0x7f9e402ebb50; closed: -1>
psycopg2.errors.InvalidTextRepresentation: invalid input syntax for type boolean: "members"
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 4, in
uvicorn.main()
│ └
└ <module 'uvicorn' from '/usr/local/lib/python3.11/site-packages/uvicorn/init.py'>
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1485, in call
return self.main(args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <function Command.main at 0x7f9fca2dae80>
└
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1406, in main
rv = self.invoke(ctx)
│ │ └ <click.core.Context object at 0x7f9fcb06d450>
│ └ <function Command.invoke at 0x7f9fca2dab60>
└
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1269, in invoke
return ctx.invoke(self.callback, **ctx.params)
│ │ │ │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
│ │ │ │ └ <click.core.Context object at 0x7f9fcb06d450>
│ │ │ └ <function main at 0x7f9fc9fb0b80>
│ │ └
│ └ <function Context.invoke at 0x7f9fca2d9da0>
└ <click.core.Context object at 0x7f9fcb06d450>
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 824, in invoke
return callback(args, **kwargs)
│ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
│ └ ()
└ <function main at 0x7f9fc9fb0b80>
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 424, in main
run(
└ <function run at 0x7f9fca2354e0>
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 594, in run
server.run()
│ └ <function Server.run at 0x7f9fca234d60>
└ <uvicorn.server.Server object at 0x7f9fca3b3c50>
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 67, in run
return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
│ │ │ │ │ │ └ <function Config.get_loop_factory at 0x7f9fca1bd4e0>
│ │ │ │ │ └ <uvicorn.config.Config object at 0x7f9fc9fc3f10>
│ │ │ │ └ <uvicorn.server.Server object at 0x7f9fca3b3c50>
│ │ │ └ None
│ │ └ <function Server.serve at 0x7f9fca234e00>
│ └ <uvicorn.server.Server object at 0x7f9fca3b3c50>
└ <function asyncio_run at 0x7f9fca2e1e40>
File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run
return runner.run(main)
│ │ └ <coroutine object Server.serve at 0x7f9fc9fad990>
│ └ <function Runner.run at 0x7f9fca574fe0>
└ <asyncio.runners.Runner object at 0x7f9fca1d4710>
File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
│ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /usr/local/lib/python3.11/site-packages/uvicorn/server.py:71> wai...
│ │ └ <cyfunction Loop.run_until_complete at 0x7f9fca024040>
│ └ <uvloop.Loop running=True closed=False debug=False>
└ <asyncio.runners.Runner object at 0x7f9fca1d4710>
File "/app/backend/open_webui/utils/audit.py", line 154, in call
return await self.app(scope, receive, send)
│ │ │ │ └ <function SessionMiddleware.call..send_wrapper at 0x7f9e38598540>
│ │ │ └ <bound method RequestResponseCycle.receive of <uvicorn.protocols.http.httptools_impl.RequestResponseCycle object at 0x7f9e385...
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <starlette.middleware.cors.CORSMiddleware object at 0x7f9e4279d7d0>
└ <open_webui.utils.audit.AuditLoggingMiddleware object at 0x7f9e43e1e010>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in call
await self.app(scope, receive, send)
│ │ │ │ └ <function SessionMiddleware.call..send_wrapper at 0x7f9e38598540>
│ │ │ └ <bound method RequestResponseCycle.receive of <uvicorn.protocols.http.httptools_impl.RequestResponseCycle object at 0x7f9e385...
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <starlette.middleware.base.BaseHTTPMiddleware object at 0x7f9e42cb60d0>
└ <starlette.middleware.cors.CORSMiddleware object at 0x7f9e4279d7d0>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in call
with recv_stream, send_stream, collapse_excgroups():
│ │ └ <function collapse_excgroups at 0x7f9fc78914e0>
│ └ MemoryObjectSendStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_receiv...
└ MemoryObjectReceiveStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_rec...
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
│ │ │ │ │ └ <traceback object at 0x7f9e4381c600>
│ │ │ │ └ ExceptionGroup('unhandled errors in a TaskGroup', [DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input synta...
│ │ │ └ <class 'ExceptionGroup'>
│ │ └ <method 'throw' of 'generator' objects>
│ └ <generator object collapse_excgroups at 0x7f9e40082180>
└ <contextlib._GeneratorContextManager object at 0x7f9e40212c10>
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in call
response = await self.dispatch_func(request, call_next)
│ │ │ └ <function BaseHTTPMiddleware.call..call_next at 0x7f9e38598ea0>
│ │ └ <starlette.middleware.base._CachedRequest object at 0x7f9e4019e750>
│ └ <function inspect_websocket at 0x7f9e42a616c0>
└ <starlette.middleware.base.BaseHTTPMiddleware object at 0x7f9e42cb60d0>
File "/app/backend/open_webui/main.py", line 1392, in inspect_websocket
return await call_next(request)
│ └ <starlette.middleware.base._CachedRequest object at 0x7f9e4019e750>
└ <function BaseHTTPMiddleware.call..call_next at 0x7f9e38598ea0>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 168, in call_next
raise app_exc from app_exc.cause or app_exc.context
│ │ │ │ └ <attribute 'context' of 'BaseException' objects>
│ │ │ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
│ │ └ <attribute 'cause' of 'BaseException' objects>
│ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
└ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7f9e3859bce0>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599760>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <starlette.middleware.base.BaseHTTPMiddleware object at 0x7f9e42a89bd0>
└ <starlette.middleware.base.BaseHTTPMiddleware object at 0x7f9e42cb60d0>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in call
with recv_stream, send_stream, collapse_excgroups():
│ │ └ <function collapse_excgroups at 0x7f9fc78914e0>
│ └ MemoryObjectSendStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_receiv...
└ MemoryObjectReceiveStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_rec...
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
│ │ │ │ │ └ <traceback object at 0x7f9e43831a00>
│ │ │ │ └ ExceptionGroup('unhandled errors in a TaskGroup', [DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input synta...
│ │ │ └ <class 'ExceptionGroup'>
│ │ └ <method 'throw' of 'generator' objects>
│ └ <generator object collapse_excgroups at 0x7f9e385d03c0>
└ <contextlib._GeneratorContextManager object at 0x7f9e401c52d0>
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in call
response = await self.dispatch_func(request, call_next)
│ │ │ └ <function BaseHTTPMiddleware.call..call_next at 0x7f9e38599300>
│ │ └ <starlette.middleware.base._CachedRequest object at 0x7f9e38563750>
│ └ <function check_url at 0x7f9e42a61620>
└ <starlette.middleware.base.BaseHTTPMiddleware object at 0x7f9e42a89bd0>
File "/app/backend/open_webui/main.py", line 1371, in check_url
response = await call_next(request)
│ └ <starlette.middleware.base._CachedRequest object at 0x7f9e38563750>
└ <function BaseHTTPMiddleware.call..call_next at 0x7f9e38599300>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 168, in call_next
raise app_exc from app_exc.cause or app_exc.context
│ │ │ │ └ <attribute 'context' of 'BaseException' objects>
│ │ │ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
│ │ └ <attribute 'cause' of 'BaseException' objects>
│ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
└ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7f9e38599c60>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e3859b420>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <starlette.middleware.base.BaseHTTPMiddleware object at 0x7f9e429622d0>
└ <starlette.middleware.base.BaseHTTPMiddleware object at 0x7f9e42a89bd0>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in call
with recv_stream, send_stream, collapse_excgroups():
│ │ └ <function collapse_excgroups at 0x7f9fc78914e0>
│ └ MemoryObjectSendStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_receiv...
└ MemoryObjectReceiveStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_rec...
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
│ │ │ │ │ └ <traceback object at 0x7f9e43832840>
│ │ │ │ └ ExceptionGroup('unhandled errors in a TaskGroup', [DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input synta...
│ │ │ └ <class 'ExceptionGroup'>
│ │ └ <method 'throw' of 'generator' objects>
│ └ <generator object collapse_excgroups at 0x7f9e385d2500>
└ <contextlib._GeneratorContextManager object at 0x7f9e400d4f50>
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in call
response = await self.dispatch_func(request, call_next)
│ │ │ └ <function BaseHTTPMiddleware.call..call_next at 0x7f9e3859a840>
│ │ └ <starlette.middleware.base._CachedRequest object at 0x7f9e38553350>
│ └ <function commit_session_after_request at 0x7f9e42a61580>
└ <starlette.middleware.base.BaseHTTPMiddleware object at 0x7f9e429622d0>
File "/app/backend/open_webui/main.py", line 1357, in commit_session_after_request
response = await call_next(request)
│ └ <starlette.middleware.base._CachedRequest object at 0x7f9e38553350>
└ <function BaseHTTPMiddleware.call..call_next at 0x7f9e3859a840>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 168, in call_next
raise app_exc from app_exc.cause or app_exc.context
│ │ │ │ └ <attribute 'context' of 'BaseException' objects>
│ │ │ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
│ │ └ <attribute 'cause' of 'BaseException' objects>
│ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
└ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7f9e38598680>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e3859a8e0>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <open_webui.main.APIKeyRestrictionMiddleware object at 0x7f9e4293d650>
└ <starlette.middleware.base.BaseHTTPMiddleware object at 0x7f9e429622d0>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in call
with recv_stream, send_stream, collapse_excgroups():
│ │ └ <function collapse_excgroups at 0x7f9fc78914e0>
│ └ MemoryObjectSendStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_receiv...
└ MemoryObjectReceiveStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_rec...
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
│ │ │ │ │ └ <traceback object at 0x7f9e401fa100>
│ │ │ │ └ ExceptionGroup('unhandled errors in a TaskGroup', [DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input synta...
│ │ │ └ <class 'ExceptionGroup'>
│ │ └ <method 'throw' of 'generator' objects>
│ └ <generator object collapse_excgroups at 0x7f9e385d2a40>
└ <contextlib._GeneratorContextManager object at 0x7f9e4381e710>
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in call
response = await self.dispatch_func(request, call_next)
│ │ │ └ <function BaseHTTPMiddleware.call..call_next at 0x7f9e3859b6a0>
│ │ └ <starlette.middleware.base._CachedRequest object at 0x7f9e4381e990>
│ └ <bound method APIKeyRestrictionMiddleware.dispatch of <open_webui.main.APIKeyRestrictionMiddleware object at 0x7f9e4293d650>>
└ <open_webui.main.APIKeyRestrictionMiddleware object at 0x7f9e4293d650>
File "/app/backend/open_webui/main.py", line 1348, in dispatch
response = await call_next(request)
│ └ <starlette.middleware.base._CachedRequest object at 0x7f9e4381e990>
└ <function BaseHTTPMiddleware.call..call_next at 0x7f9e3859b6a0>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 168, in call_next
raise app_exc from app_exc.cause or app_exc.context
│ │ │ │ └ <attribute 'context' of 'BaseException' objects>
│ │ │ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
│ │ └ <attribute 'cause' of 'BaseException' objects>
│ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
└ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7f9e3859a2a0>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e385984a0>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <open_webui.utils.security_headers.SecurityHeadersMiddleware object at 0x7f9e43eadd90>
└ <open_webui.main.APIKeyRestrictionMiddleware object at 0x7f9e4293d650>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in call
with recv_stream, send_stream, collapse_excgroups():
│ │ └ <function collapse_excgroups at 0x7f9fc78914e0>
│ └ MemoryObjectSendStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_receiv...
└ MemoryObjectReceiveStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_rec...
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
│ │ │ │ │ └ <traceback object at 0x7f9e43802d40>
│ │ │ │ └ ExceptionGroup('unhandled errors in a TaskGroup', [DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input synta...
│ │ │ └ <class 'ExceptionGroup'>
│ │ └ <method 'throw' of 'generator' objects>
│ └ <generator object collapse_excgroups at 0x7f9e401f6960>
└ <contextlib._GeneratorContextManager object at 0x7f9e437d2750>
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in call
response = await self.dispatch_func(request, call_next)
│ │ │ └ <function BaseHTTPMiddleware.call..call_next at 0x7f9e3859bd80>
│ │ └ <starlette.middleware.base._CachedRequest object at 0x7f9e43832c90>
│ └ <bound method SecurityHeadersMiddleware.dispatch of <open_webui.utils.security_headers.SecurityHeadersMiddleware object at 0x...
└ <open_webui.utils.security_headers.SecurityHeadersMiddleware object at 0x7f9e43eadd90>
File "/app/backend/open_webui/utils/security_headers.py", line 11, in dispatch
response = await call_next(request)
│ └ <starlette.middleware.base._CachedRequest object at 0x7f9e43832c90>
└ <function BaseHTTPMiddleware.call..call_next at 0x7f9e3859bd80>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 168, in call_next
raise app_exc from app_exc.cause or app_exc.context
│ │ │ │ └ <attribute 'context' of 'BaseException' objects>
│ │ │ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
│ │ └ <attribute 'cause' of 'BaseException' objects>
│ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
└ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7f9e3859bc40>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e3859a480>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <open_webui.main.RedirectMiddleware object at 0x7f9e42b0bad0>
└ <open_webui.utils.security_headers.SecurityHeadersMiddleware object at 0x7f9e43eadd90>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in call
with recv_stream, send_stream, collapse_excgroups():
│ │ └ <function collapse_excgroups at 0x7f9fc78914e0>
│ └ MemoryObjectSendStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_receiv...
└ MemoryObjectReceiveStream(_state=_MemoryObjectStreamState(max_buffer_size=0, buffer=deque([]), open_send_channels=0, open_rec...
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
│ │ │ │ │ └ <traceback object at 0x7f9e3856f5c0>
│ │ │ │ └ ExceptionGroup('unhandled errors in a TaskGroup', [DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input synta...
│ │ │ └ <class 'ExceptionGroup'>
│ │ └ <method 'throw' of 'generator' objects>
│ └ <generator object collapse_excgroups at 0x7f9e401f6260>
└ <contextlib._GeneratorContextManager object at 0x7f9e401f9cd0>
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in call
response = await self.dispatch_func(request, call_next)
│ │ │ └ <function BaseHTTPMiddleware.call..call_next at 0x7f9e3859af20>
│ │ └ <starlette.middleware.base._CachedRequest object at 0x7f9e431aaf50>
│ └ <bound method RedirectMiddleware.dispatch of <open_webui.main.RedirectMiddleware object at 0x7f9e42b0bad0>>
└ <open_webui.main.RedirectMiddleware object at 0x7f9e42b0bad0>
File "/app/backend/open_webui/main.py", line 1304, in dispatch
response = await call_next(request)
│ └ <starlette.middleware.base._CachedRequest object at 0x7f9e431aaf50>
└ <function BaseHTTPMiddleware.call..call_next at 0x7f9e3859af20>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 168, in call_next
raise app_exc from app_exc.cause or app_exc.context
│ │ │ │ └ <attribute 'context' of 'BaseException' objects>
│ │ │ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
│ │ └ <attribute 'cause' of 'BaseException' objects>
│ └ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
└ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7f9e3859b560>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <starlette_compress.CompressMiddleware object at 0x7f9fca011fd0>
└ <open_webui.main.RedirectMiddleware object at 0x7f9e42b0bad0>
File "/usr/local/lib/python3.11/site-packages/starlette_compress/init.py", line 92, in call
return await self._zstd(scope, receive, send)
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7f9e3859b560>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <member '_zstd' of 'CompressMiddleware' objects>
└ <starlette_compress.CompressMiddleware object at 0x7f9fca011fd0>
File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 100, in call
await self.app(scope, receive, wrapper)
│ │ │ │ └ <function ZstdResponder.call..wrapper at 0x7f9e3859a200>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <member 'app' of 'ZstdResponder' objects>
└ <starlette_compress._zstd_legacy.ZstdResponder object at 0x7f9e429aa300>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
│ │ │ │ │ │ └ <function ZstdResponder.call..wrapper at 0x7f9e3859a200>
│ │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ │ │ └ <starlette.requests.Request object at 0x7f9e402283d0>
│ │ └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7f9e42765210>
│ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7f9e4279d810>
└ <function wrap_app_handling_exceptions at 0x7f9fc796c0e0>
File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
│ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9e3859bf60>
│ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
└ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7f9e42765210>
File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in call
await self.app(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9e3859bf60>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <fastapi.routing.APIRouter object at 0x7f9e42c8e250>
└ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7f9e42765210>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 716, in call
await self.middleware_stack(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9e3859bf60>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7f9e42c8e250>>
└ <fastapi.routing.APIRouter object at 0x7f9e42c8e250>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 736, in app
await route.handle(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9e3859bf60>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <function Route.handle at 0x7f9fc796d760>
└ APIRoute(path='/api/v1/groups/', name='get_groups', methods=['GET'])
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 290, in handle
await self.app(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9e3859bf60>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ └ <function request_response..app at 0x7f9e42570a40>
└ APIRoute(path='/api/v1/groups/', name='get_groups', methods=['GET'])
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 115, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
│ │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9e3859bf60>
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
│ │ └ <starlette.requests.Request object at 0x7f9e40073950>
│ └ <function request_response..app..app at 0x7f9e38598d60>
└ <function wrap_app_handling_exceptions at 0x7f9fc796c0e0>
File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
│ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9e3859b740>
│ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f9e38599940>
│ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('000', 8080), 'c...
└ <function request_response..app..app at 0x7f9e38598d60>
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 101, in app
response = await f(request)
│ └ <starlette.requests.Request object at 0x7f9e40073950>
└ <function get_request_handler..app at 0x7f9e42570900>
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 355, in app
raw_response = await run_endpoint_function(
└ <function run_endpoint_function at 0x7f9fc796f6a0>
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 243, in run_endpoint_function
return await dependant.call(**values)
│ │ └ {'user': UserModel(id='e74c4770-cdee-44e9-9d7c-d74365a479c6', email='jan.kammerer-liebnitzky@bmftr.bund.de', username=None, r...
│ └ <function get_groups at 0x7f9e43fd1f80>
└ Dependant(path_params=[], query_params=[ModelField(field_info=Query(None), name='share', mode='validation', config=None)], he...
File "/app/backend/open_webui/routers/groups.py", line 49, in get_groups
groups = Groups.get_groups(filter=filter, db=db)
│ │ │ └ <sqlalchemy.orm.session.Session object at 0x7f9e3852ff50>
│ │ └ {'member_id': 'e74c4770-cdee-44e9-9d7c-d74365a479c6', 'share': True}
│ └ <function GroupTable.get_groups at 0x7f9f099b4720>
└ <open_webui.models.groups.GroupTable object at 0x7f9f099bf710>
File "/app/backend/open_webui/models/groups.py", line 207, in get_groups
groups = query.order_by(Group.updated_at.desc()).all()
│ │ │ │ └ <function ColumnOperators.desc at 0x7f9fc8dadb20>
│ │ │ └ <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f9f09977420>
│ │ └ <class 'open_webui.models.groups.Group'>
│ └ <function Query.order_by at 0x7f9f0aca28e0>
└ <sqlalchemy.orm.query.Query object at 0x7f9e400d56d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2704, in all
return self._iter().all() # type: ignore
│ └ <function Query._iter at 0x7f9f0aca8f40>
└ <sqlalchemy.orm.query.Query object at 0x7f9e440fc190>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2857, in _iter
result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
│ │ │ │ │ │ └ <function Session.execute at 0x7f9f0ab5dda0>
│ │ │ │ │ └ <sqlalchemy.orm.session.Session object at 0x7f9e40091ed0>
│ │ │ │ └ <sqlalchemy.orm.query.Query object at 0x7f9e440fc190>
│ │ │ └ ~_T
│ │ └ <class 'sqlalchemy.engine.result.Result'>
│ └ ~_T
└ typing.Union
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2351, in execute
return self._execute_internal(
│ └ <function Session._execute_internal at 0x7f9f0ab5db20>
└ <sqlalchemy.orm.session.Session object at 0x7f9e40091ed0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2249, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
│ │ └ <classmethod(<function AbstractORMCompileState.orm_execute_statement at 0x7f9f0ae028e0>)>
│ └ <class 'sqlalchemy.orm.context.ORMSelectCompileState'>
└ typing.Any
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 306, in orm_execute_statement
result = conn.execute(
│ └ <function Connection.execute at 0x7f9fc87c6660>
└ <sqlalchemy.engine.base.Connection object at 0x7f9e4293c910>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
└ <bound method ClauseElement._execute_on_connection of <sqlalchemy.sql.selectable.Select object at 0x7f9e43832550>>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 527, in _execute_on_connection
return connection._execute_clauseelement(
│ └ <function Connection._execute_clauseelement at 0x7f9fc87c6980>
└ <sqlalchemy.engine.base.Connection object at 0x7f9e4293c910>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
│ └ <function Connection._execute_context at 0x7f9fc87c6b60>
└ <sqlalchemy.engine.base.Connection object at 0x7f9e4293c910>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
│ └ <function Connection._exec_single_context at 0x7f9fc87c6c00>
└ <sqlalchemy.engine.base.Connection object at 0x7f9e4293c910>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
│ └ <function Connection._handle_dbapi_exception at 0x7f9fc87c6e80>
└ <sqlalchemy.engine.base.Connection object at 0x7f9e4293c910>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2363, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
│ │ │ └ InvalidTextRepresentation('invalid input syntax for type boolean: "members"\n')
│ │ └ (<class 'psycopg2.errors.InvalidTextRepresentation'>, InvalidTextRepresentation('invalid input syntax for type boolean: "memb...
│ └ <method 'with_traceback' of 'BaseException' objects>
└ DataError('(psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"\n')
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
│ │ └ <function DefaultDialect.do_execute at 0x7f9fc8996ac0>
│ └ <sqlalchemy.dialects.postgresql.psycopg2.PGDialect_psycopg2 object at 0x7f9f0bfcff90>
└ <sqlalchemy.engine.base.Connection object at 0x7f9e4293c910>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 952, in do_execute
cursor.execute(statement, parameters)
│ │ │ └ {'data_1': 'config', 'param_1': 'share', 'param_2': 'members', 'user_id_1': 'e74c4770-cdee-44e9-9d7c-d74365a479c6'}
│ │ └ 'SELECT "group".id AS group_id, "group".user_id AS group_user_id, "group".name AS group_name, "group".description AS group_de...
│ └ <method 'execute' of 'psycopg2.extensions.cursor' objects>
└ <cursor object at 0x7f9e402ebb50; closed: -1>
sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type boolean: "members"
[SQL: SELECT "group".id AS group_id, "group".user_id AS group_user_id, "group".name AS group_name, "group".description AS group_description, "group".data AS group_data, "group".meta AS group_meta, "group".permissions AS group_permissions, "group".created_at AS group_created_at, "group".updated_at AS group_updated_at
FROM "group"
WHERE "group".data IS NULL OR CAST((("group".data -> %(data_1)s) ->> %(param_1)s) AS BOOLEAN) IS NULL OR CAST((("group".data -> %(data_1)s) ->> %(param_1)s) AS BOOLEAN) = true OR CAST((("group".data -> %(data_1)s) ->> %(param_1)s) AS VARCHAR) = %(param_2)s AND "group".id IN (SELECT anon_1.group_id
FROM (SELECT group_member.group_id AS group_id
FROM group_member
WHERE group_member.user_id = %(user_id_1)s) AS anon_1) ORDER BY "group".updated_at DESC]
[parameters: {'data_1': 'config', 'param_1': 'share', 'param_2': 'members', 'user_id_1': 'e74c4770-cdee-44e9-9d7c-d74365a479c6'}]
(Background on this error at: https://sqlalche.me/e/20/9h9h)
Additional Information
No response
@owui-terminator[bot] commented on GitHub (Jan 14, 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:
#19752 issue: minor UI Bug: knowledge sharing
by mahenning • Dec 04, 2025 •
bug,confirmed issue#20229 issue: Knowledge Base not visible when shared with multiple groups (SQLite)
by taka817123 • Dec 29, 2025 •
bug,confirmed issue#19485 issue: relation "group_member" does not exist
by c-brock • Nov 25, 2025 •
bug#19426 issue: Strange Behavior With Groups
by matthew-kusz • Nov 24, 2025 •
bug#19475 issue: A users groups aren't always updated on OAuh login
by tobiasge • Nov 25, 2025 •
bugShow 5 more related issues
#19461 issue: Models shared with write permission to group no longer visible in workspace
by destination-one • Nov 25, 2025 •
bug#19701 issue: knowledge can not multiple upload file
by willy808 • Dec 03, 2025 •
bug#19588 issue: Model group permissions
by apunkt • Nov 29, 2025 •
bug#20236 issue: Select knowledge within Folders
by liucoj • Dec 29, 2025 •
bug#19329 issue: Sharepoint integration not working
by Joly0 • Nov 20, 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 (Jan 14, 2026):
Fixed in dev thanks!