mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-07 11:28:35 -05:00
issue: admin user can't login after password change #5994
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 @spookynando on GitHub (Aug 8, 2025).
Check Existing Issues
Installation Method
Pip Install
Open WebUI Version
v0.6.18
Ollama Version (if applicable)
v0.11.4
Operating System
macOS Sequoia 15.6 (24G84)
Browser (if applicable)
Safari, Chrome
Confirmation
README.md.Expected Behavior
The auth service should have authorised me and taken to the chats page
Actual Behavior
Login button pressed, no errors pop up, nothing happens.
Steps to Reproduce
The situation and steps are best described in the "Additional Information" section.
Logs & Screenshots
Terminal log:
Loading WEBUI_SECRET_KEY from file, not provided as an environment variable.
Loading WEBUI_SECRET_KEY from /Users/ls1/.webui_secret_key
/opt/anaconda3/lib/python3.11/site-packages/open_webui
/opt/anaconda3/lib/python3.11/site-packages
/opt/anaconda3/lib/python3.11
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [open_webui.env] 'ENABLE_SIGNUP' loaded from the latest database entry
INFO [open_webui.env] 'DEFAULT_LOCALE' loaded from the latest database entry
INFO [open_webui.env] 'DEFAULT_PROMPT_SUGGESTIONS' loaded from the latest database entry
WARNI [open_webui.env]
WARNING: CORS_ALLOW_ORIGIN IS SET TO '*' - NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS.
INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
/opt/anaconda3/lib/python3.11/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║█���║
╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝
v0.6.18 - building the best AI user interface.
https://github.com/open-webui/open-webui
Fetching 30 files: 100%|█████████████████████| 30/30 [00:00<00:00, 35757.07it/s]
INFO: Started server process [58898]
INFO: Waiting for application startup.
2025-08-08 17:05:47.396 | INFO | open_webui.utils.logger:start_logger:157 - GLOBAL_LOG_LEVEL: INFO - {}
2025-08-08 17:05:47.396 | INFO | open_webui.main:lifespan:519 - Installing external dependencies of functions and tools... - {}
2025-08-08 17:05:47.402 | INFO | open_webui.utils.plugin:install_frontmatter_requirements:241 - No requirements found in frontmatter. - {}
2025-08-08 17:05:56.251 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60928 - "GET /_app/version.json HTTP/1.1" 200 - {}
2025-08-08 17:05:56.251 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60927 - "GET /_app/version.json HTTP/1.1" 200 - {}
2025-08-08 17:05:56.251 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60930 - "GET /_app/version.json HTTP/1.1" 200 - {}
2025-08-08 17:05:59.092 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60930 - "GET /static/loader.js HTTP/1.1" 200 - {}
2025-08-08 17:05:59.096 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60927 - "GET /static/custom.css HTTP/1.1" 200 - {}
2025-08-08 17:05:59.119 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60927 - "GET /static/splash.png HTTP/1.1" 200 - {}
2025-08-08 17:05:59.121 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60930 - "GET /static/splash-dark.png HTTP/1.1" 200 - {}
2025-08-08 17:05:59.425 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60930 - "GET /api/config HTTP/1.1" 200 - {}
2025-08-08 17:05:59.446 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60930 - "GET /static/favicon.png HTTP/1.1" 200 - {}
2025-08-08 17:05:59.446 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60927 - "GET /static/favicon-dark.png HTTP/1.1" 200 - {}
2025-08-08 17:05:59.547 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60927 - "GET /manifest.json HTTP/1.1" 200 - {}
2025-08-08 17:05:59.550 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60930 - "GET /static/favicon.png HTTP/1.1" 304 - {}
2025-08-08 17:05:59.556 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60930 - "GET /static/logo.png HTTP/1.1" 200 - {}
2025-08-08 17:06:09.225 | INFO | open_webui.models.auths:authenticate_user:131 - authenticate_user: sr.novichkov@gmail.com - {}
2025-08-08 17:06:09.341 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 127.0.0.1:60937 - "POST /api/v1/auths/signin HTTP/1.1" 500 - {}
Exception in ASGI application
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 76, in collapse_excgroups
| yield
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 178, in call
| async with anyio.create_task_group() as task_group:
| File "/opt/anaconda3/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 815, in aexit
| raise BaseExceptionGroup(
| ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/opt/anaconda3/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
| result = await app( # type: ignore[func-returns-value]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
| return await self.app(scope, receive, send)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in call
| await super().call(scope, receive, send)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/applications.py", line 112, in call
| await self.middleware_stack(scope, receive, send)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in call
| raise exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in call
| await self.app(scope, receive, _send)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in call
| await self.simple_response(scope, receive, send, request_headers=headers)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/cors.py", line 144, in simple_response
| await self.app(scope, receive, send)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
| with recv_stream, send_stream, collapse_excgroups():
| File "/opt/anaconda3/lib/python3.11/contextlib.py", line 155, in exit
| self.gen.throw(typ, value, traceback)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/main.py", line 1162, in inspect_websocket
| return await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
| with recv_stream, send_stream, collapse_excgroups():
| File "/opt/anaconda3/lib/python3.11/contextlib.py", line 155, in exit
| self.gen.throw(typ, value, traceback)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/main.py", line 1141, in check_url
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
| with recv_stream, send_stream, collapse_excgroups():
| File "/opt/anaconda3/lib/python3.11/contextlib.py", line 155, in exit
| self.gen.throw(typ, value, traceback)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/main.py", line 1127, in commit_session_after_request
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
| with recv_stream, send_stream, collapse_excgroups():
| File "/opt/anaconda3/lib/python3.11/contextlib.py", line 155, in exit
| self.gen.throw(typ, value, traceback)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/utils/security_headers.py", line 11, in dispatch
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
| with recv_stream, send_stream, collapse_excgroups():
| File "/opt/anaconda3/lib/python3.11/contextlib.py", line 155, in exit
| self.gen.throw(typ, value, traceback)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
| response = await self.dispatch_func(request, call_next)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/main.py", line 1113, in dispatch
| response = await call_next(request)
| ^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
| raise app_exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette_compress/init.py", line 92, in call
| return await self._zstd(scope, receive, send)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 100, in call
| await self.app(scope, receive, wrapper)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in call
| await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
| raise exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
| await app(scope, receive, sender)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/routing.py", line 715, in call
| await self.middleware_stack(scope, receive, send)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
| await route.handle(scope, receive, send)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
| await self.app(scope, receive, send)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
| await wrap_app_handling_exceptions(app, request)(scope, receive, send)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
| raise exc
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
| await app(scope, receive, sender)
| File "/opt/anaconda3/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
| response = await f(request)
| ^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
| raw_response = await run_endpoint_function(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
| return await dependant.call(**values)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/routers/auths.py", line 512, in signin
| token = create_token(
| ^^^^^^^^^^^^^
| File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/utils/auth.py", line 134, in create_token
| encoded_jwt = jwt.encode(payload, SESSION_SECRET, algorithm=ALGORITHM)
| ^^^^^^^^^^
| AttributeError: module 'jwt' has no attribute 'encode'
+------------------------------------
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/anaconda3/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in call
await super().call(scope, receive, send)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/applications.py", line 112, in call
await self.middleware_stack(scope, receive, send)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in call
raise exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in call
await self.app(scope, receive, _send)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/cors.py", line 93, in call
await self.simple_response(scope, receive, send, request_headers=headers)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/cors.py", line 144, in simple_response
await self.app(scope, receive, send)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/opt/anaconda3/lib/python3.11/contextlib.py", line 155, in exit
self.gen.throw(typ, value, traceback)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/main.py", line 1162, in inspect_websocket
return await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/opt/anaconda3/lib/python3.11/contextlib.py", line 155, in exit
self.gen.throw(typ, value, traceback)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/main.py", line 1141, in check_url
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/opt/anaconda3/lib/python3.11/contextlib.py", line 155, in exit
self.gen.throw(typ, value, traceback)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/main.py", line 1127, in commit_session_after_request
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/opt/anaconda3/lib/python3.11/contextlib.py", line 155, in exit
self.gen.throw(typ, value, traceback)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/utils/security_headers.py", line 11, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/opt/anaconda3/lib/python3.11/contextlib.py", line 155, in exit
self.gen.throw(typ, value, traceback)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/main.py", line 1113, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette_compress/init.py", line 92, in call
return await self._zstd(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 100, in call
await self.app(scope, receive, wrapper)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/routing.py", line 715, in call
await self.middleware_stack(scope, receive, send)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/opt/anaconda3/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/routers/auths.py", line 512, in signin
token = create_token(
^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/site-packages/open_webui/utils/auth.py", line 134, in create_token
encoded_jwt = jwt.encode(payload, SESSION_SECRET, algorithm=ALGORITHM)
^^^^^^^^^^
AttributeError: module 'jwt' has no attribute 'encode'
Chrome console log:
Use of history.pushState in a trivial session history context, which maintains only one session history entry, is treated as history.replaceState.
ee @ client.js:1534Understand this warningAI
hook.js:608 No token found in localStorage, user-join event not emitted
overrideMethod @ hook.js:608Understand this warningAI
:8080/api/v1/auths/signin:1
hook.js:608 SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON
overrideMethod @ hook.js:608Understand this errorAI
Additional Information
I have updated my macOS version to Sequoia 15.6 (24G84), after launching the service found that WebUI logged me out for some reason.
When I typed my regular (chrome saved) login/password it returned an error "wrong password". ok, i started troubleshooting, found an official manual on how to change the password. Generated a new HASH and inserted it directly into the database file: table "auth", column "password", replaced the old hash with the new one, saved the .db file. Launched the server and at the auth page, chrome auto-pasted correct details, pressed "login", the screen did not change, yet no error message were shown.
Complete log is attached.
To try fix this, I have also tried reinstalling open-webui (pip-uninstalled, pip-installed), did not fix the issue.
@tjbck commented on GitHub (Aug 8, 2025):
Unable to reproduce, keep us updated!