I have searched the existing issues and discussions.
I am using the latest version of Open WebUI.
Installation Method
Docker
Open WebUI Version
v0.6.9
Ollama Version (if applicable)
No response
Operating System
Debian 12
Browser (if applicable)
Edge
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 listed steps to reproduce the bug in detail.
Expected Behavior
When the user connects to the webui, there is a loading message on the left of theyre screens, where chats are saved. After a few seconds, the chats appear.
Actual Behavior
When the user connects, the loading is infinite and no chats are displayed. If the users starts a new chat and sends one random message, all the chats appears instantly.
Steps to Reproduce
Connect to the Web Ui
Start a new chat
Send a message
And then the saved chats are displayed
Logs & Screenshots
Browser logs (after starting new chat)
+layout.svelte:539 Backend config: {status: true, name: 'Open WebUI', version: '0.6.9', default_locale: '', oauth: {…}, …}
+layout.svelte:79 connected 7c0D7PaS3d_mYzRlAAAJ
+layout.svelte:98 user-list {user_ids: Array(1)}
+layout.svelte:103 usage {models: Array(0)}
+layout.svelte:98 user-list {user_ids: Array(1)}
index.ts:344
GET https://ourdomain.com/api/v1/chats/all/tags 400 (Bad Request)
window.fetch @ fetcher.js:76
m @ index.ts:344
De @ Sidebar.svelte:170
(anonymous) @ Sidebar.svelte:394
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
(anonymous) @ +layout.svelte:635
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Pt @ Component.js:164
wt @ root.svelte:23
ct @ client.js:472
Z @ client.js:1580
await in Z
Le @ client.js:398
pn @ client.js:1926
In @ client.js:323
await in In
(anonymous) @ (index):130
Promise.then
(anonymous) @ (index):129
index.ts:361 {detail: 'Something went wrong :/'}detail: "Something went wrong :/"[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()__proto__: (...)get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()
Sidebar.svelte:409 Uncaught (in promise) {detail: 'Something went wrong :/'}
(anonymous) @ Sidebar.svelte:409
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
(anonymous) @ +layout.svelte:635
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Pt @ Component.js:164
wt @ root.svelte:23
ct @ client.js:472
Z @ client.js:1580
await in Z
Le @ client.js:398
pn @ client.js:1926
In @ client.js:323
await in In
(anonymous) @ (index):130
Promise.then
(anonymous) @ (index):129
Chat.svelte:406 mounted
RichTextInput.svelte:185 content
RichTextInput.svelte:187 [tiptap warn]: Duplicate extension names found: ['codeBlock']. This can lead to issues.
resolve @ index.js:1183
tn @ index.js:1169
createExtensionManager @ index.js:4580
BE @ index.js:4412
(anonymous) @ RichTextInput.svelte:187
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
(anonymous) @ +layout.svelte:223
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
(anonymous) @ +layout.svelte:635
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Pt @ Component.js:164
wt @ root.svelte:23
ct @ client.js:472
Z @ client.js:1580
await in Z
Le @ client.js:398
pn @ client.js:1926
In @ client.js:323
await in In
(anonymous) @ (index):130
Promise.then
(anonymous) @ (index):129
Placeholder.svelte:61 Could you start by asking me about instances when I procrastinate the most and then give me some suggestions to overcome it?
RichTextInput.svelte:138 TextSelection endpoint not pointing into a node with inline content (doc)
Ja @ index.js:221
q @ index.js:235
create @ index.js:281
(anonymous) @ RichTextInput.svelte:138
setTimeout
U @ RichTextInput.svelte:132
Y @ RichTextInput.svelte:430
KC.t.$$.update @ RichTextInput.svelte:393
dt @ scheduler.js:115
_t @ scheduler.js:79
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
An @ Chat.svelte:2096
h @ Chat.svelte:1989
(anonymous) @ Component.js:138
O @ Placeholder.svelte:56
fe @ Placeholder.svelte:230
(anonymous) @ lifecycle.js:105
(anonymous) @ lifecycle.js:104
E @ Suggestions.svelte:92
u @ Suggestions.svelte:95
Chat.svelte:1266 submitPrompt Could you start by asking me about instances when I procrastinate the most and then give me some suggestions to overcome it?
Chat.svelte:190 saveSessionSelectedModels ['gpt-4.1-nano-2025-04-14'] ["gpt-4.1-nano-2025-04-14"]
MessageInput.svelte:344 destroy
ResponseMessage.svelte:562 <div class="flex justify-start overflow-x-auto buttons text-gray-600 dark:text-gray-500 mt-0.5 svelte-1u5gq5j"></div>
RichTextInput.svelte:185 content
RichTextInput.svelte:187 [tiptap warn]: Duplicate extension names found: ['codeBlock']. This can lead to issues.
resolve @ index.js:1183
tn @ index.js:1169
createExtensionManager @ index.js:4580
BE @ index.js:4412
(anonymous) @ RichTextInput.svelte:187
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
me @ Chat.svelte:1318
sr @ Chat.svelte:2137
await in sr
(anonymous) @ lifecycle.js:105
(anonymous) @ lifecycle.js:104
x @ Placeholder.svelte:215
(anonymous) @ lifecycle.js:105
(anonymous) @ lifecycle.js:104
Fn @ MessageInput.svelte:508
(anonymous) @ dom.js:371
Docker Logs
2025-05-11 19:24:53.230 | ERROR | open_webui.routers.chats:get_all_user_tags:242 - (sqlite3.OperationalError) no such colum n: tag.meta
[SQL: SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta
FROM tag
WHERE tag.user_id = ?]
[parameters: ('09f80afc-607e-486b-a73d-4f609568a076',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - {}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in exec_single_context
self.dialect.do_execute(
│ │ └ <function DefaultDialect.do_execute at 0x7f8389bd8a40>
│ └ <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x7f8365f85650>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
│ │ │ └ ('09f80afc-607e-486b-a73d-4f609568a076',)
│ │ └ 'SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta \nFROM t ag \nWHERE tag.user...
│ └ <method 'execute' of 'sqlite3.Cursor' objects>
└ <sqlite3.Cursor object at 0x7f832833d440>
sqlite3.OperationalError: no such column: tag.meta
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 1161, in call
return self.main(args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <function BaseCommand.main at 0x7f838bba65c0>
└
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1082, in main
rv = self.invoke(ctx)
│ │ └ <click.core.Context object at 0x7f838c8e08d0>
│ └ <function Command.invoke at 0x7f838bba71a0>
└
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1443, 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 0x7f838c8e08d0>
│ │ │ └ <function main at 0x7f838b7d9da0>
│ │ └
│ └ <function Context.invoke at 0x7f838bba5b20>
└ <click.core.Context object at 0x7f838c8e08d0>
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 788, in invoke
return __callback(args, **kwargs)
│ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '', 'workers': 1, 'app': 'open_webu i.main:app', 'uds': None, 'fd': ...
└ ()
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 412, in main
run(
└ <function run at 0x7f838bc30720>
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 579, in run
server.run()
│ └ <function Server.run at 0x7f838ba85b20>
└ <uvicorn.server.Server object at 0x7f838bab1e50>
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 66, in run
return asyncio.run(self.serve(sockets=sockets))
│ │ │ │ └ None
│ │ │ └ <function Server.serve at 0x7f838ba85bc0>
│ │ └ <uvicorn.server.Server object at 0x7f838bab1e50>
│ └ <function run at 0x7f838bf8d300>
└ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'>
File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
│ │ └ <coroutine object Server.serve at 0x7f838b9ae6b0>
│ └ <function Runner.run at 0x7f838be00ea0>
└ <asyncio.runners.Runner object at 0x7f838c86d110>
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:70> wai...
│ │ └ <cyfunction Loop.run_until_complete at 0x7f838b831490>
│ └ <uvloop.Loop running=True closed=False debug=False>
└ <asyncio.runners.Runner object at 0x7f838c86d110>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_e rror at 0x7f83284fb7e0>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832 a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('17 2.19.0.3', 8080), 'c...
│ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7f835c177250>
└ <open_webui.main.RedirectMiddleware object at 0x7f832a7a04d0>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
│ │ │ │ │ │ └ <function BaseHTTPMiddleware.call..call_n ext..send_no_error at 0x7f83284fb7e0>
│ │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832a2b1440>
│ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, ' http_version': '1.1', 'server': ('172.19.0.3', 8080), 'c...
│ │ │ └ <starlette.requests.Request object at 0x7f832a5e6ed0>
│ │ └ <fastapi.routing.APIRouter object at 0x7f835456b9d0>
│ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7f835c177250>
└ <function wrap_app_handling_exceptions at 0x7f8388d15080>
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 0x7f83284f8c20>
│ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832a2b14 40>
│ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19. 0.3', 8080), 'c...
└ <fastapi.routing.APIRouter object at 0x7f835456b9d0>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in call
await self.middleware_stack(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f83284f8c20>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconne ct at 0x7f832a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', ' server': ('172.19.0.3', 8080), 'c...
│ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7f835456b9d0>>
└ <fastapi.routing.APIRouter object at 0x7f835456b9d0>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f83 284f8c20>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7 f832a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.3', 8080), 'c...
│ └ <function Route.handle at 0x7f8388d16700>
└ APIRoute(path='/api/v1/chats/all/tags', name='get_all_user_tags', methods=['GET'])
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f83284f 8c20>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832 a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('17 2.19.0.3', 8080), 'c...
│ └ <function request_response..app at 0x7f832a97dbc0>
└ APIRoute(path='/api/v1/chats/all/tags', name='get_all_user_tags', methods=['GET'])
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
│ │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped _app..sender at 0x7f83284f8c20>
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832a2b1440>
│ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'ht tp_version': '1.1', 'server': ('172.19.0.3', 8080), 'c...
│ │ └ <starlette.requests.Request object at 0x7f83284fd850>
│ └ <function request_response..app..app at 0x7f83284f8a40>
└ <function wrap_app_handling_exceptions at 0x7f8388d15080>
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 0x7f83284f9a80>
│ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832a2b14 40>
│ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19. 0.3', 8080), 'c...
└ <function request_response..app..app at 0x7f83284f8a40>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
│ └ <starlette.requests.Request object at 0x7f83284fd850>
└ <function get_request_handler..app at 0x7f832a97dee0>
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
raw_response = await run_endpoint_function(
└ <function run_endpoint_function at 0x7f8388d38540>
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
return await dependant.call(**values)
│ │ └ {'user': UserModel(id='09f80afc-607e-486b-a73d-4f609568a076', name='Arnaud Ortiz', email=' arnaud.ortiz@swissnova.ch', role='a...
│ └ <function get_all_user_tags at 0x7f83573389a0>
└ Dependant(path_params=[], query_params=[], header_params=[], cookie_params=[], body_params=[], dependencies =[Dependant(path_p...
File "/app/backend/open_webui/routers/chats.py", line 239, in get_all_user_tags
tags = Tags.get_tags_by_user_id(user.id)
│ │ │ └ '09f80afc-607e-486b-a73d-4f609568a076'
│ │ └ UserModel(id='09f80afc-607e-486b-a73d-4f609568a076', name='Arnaud Ortiz', email='arnaud. ortiz@swissnova.ch', role='admin', pr...
│ └ <function TagTable.get_tags_by_user_id at 0x7f8363191760>
└ <open_webui.models.tags.TagTable object at 0x7f836316a910>
File "/app/backend/open_webui/models/tags.py", line 82, in get_tags_by_user_id
for tag in (db.query(Tag).filter_by(user_id=user_id).all())
│ │ │ └ '09f80afc-607e-486b-a73d-4f609568a076'
│ │ └ <class 'open_webui.models.tags.Tag'>
│ └ <function Session.query at 0x7f83635e0220>
└ <sqlalchemy.orm.session.Session object at 0x7f83284fe010>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2699, in all
return self._iter().all() # type: ignore
│ └ <function Query._iter at 0x7f83639ba3e0>
└ <sqlalchemy.orm.query.Query object at 0x7f83284fca90>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2853, in _iter
result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
│ │ │ │ │ │ └ <function Session.execute at 0x7f83635d7060>
│ │ │ │ │ └ <sqlalchemy.orm.session.Session object at 0x7f83284fe010>
│ │ │ │ └ <sqlalchemy.orm.query.Query object at 0x7f83284fca90>
│ │ │ └ ~_T
│ │ └ <class 'sqlalchemy.engine.result.Result'>
│ └ ~_T
└ typing.Union
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2365, in execute
return self._execute_internal(
│ └ <function Session._execute_internal at 0x7f83635d6d40>
└ <sqlalchemy.orm.session.Session object at 0x7f83284fe010>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
│ │ └ <classmethod(<function AbstractORMCompileState.orm_execute_statement at 0x7f8364 8f2520>)>
│ └ <class 'sqlalchemy.orm.context.ORMSelectCompileState'>
└ typing.Any
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 305, in orm_execute_statement
result = conn.execute(
│ └ <function Connection.execute at 0x7f8389db8540>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
return meth(
└ <bound method ClauseElement._execute_on_connection of <sqlalchemy.sql.selectable.Select object at 0x7f83284ff310> >
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
return connection._execute_clauseelement(
│ └ <function Connection._execute_clauseelement at 0x7f8389db8860>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement
ret = self._execute_context(
│ └ <function Connection._execute_context at 0x7f8389db8a40>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context
return self._exec_single_context(
│ └ <function Connection._exec_single_context at 0x7f8389db8ae0>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context
self._handle_dbapi_exception(
│ └ <function Connection._handle_dbapi_exception at 0x7f8389db8d60>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
│ │ │ └ OperationalError('no such column: tag.meta')
│ │ └ (<class 'sqlite3.OperationalError'>, OperationalError('no such column: tag.met a'), <traceback object at 0x7f832a33fd00>)
│ └ <method 'with_traceback' of 'BaseException' objects>
└ OperationalError('(sqlite3.OperationalError) no such column: tag.meta')
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in exec_single_context
self.dialect.do_execute(
│ │ └ <function DefaultDialect.do_execute at 0x7f8389bd8a40>
│ └ <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x7f8365f85650>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
│ │ │ └ ('09f80afc-607e-486b-a73d-4f609568a076',)
│ │ └ 'SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta \nFROM t ag \nWHERE tag.user...
│ └ <method 'execute' of 'sqlite3.Cursor' objects>
└ <sqlite3.Cursor object at 0x7f832833d440>
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: tag.meta
[SQL: SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta
FROM tag
WHERE tag.user_id = ?]
[parameters: ('09f80afc-607e-486b-a73d-4f609568a076',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-05-11 19:24:53.235 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/chats/all/ tags HTTP/1.1" 400 - {}
2025-05-11 19:24:53.236 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/users/user /settings HTTP/1.1" 200 - {}
2025-05-11 19:24:53.249 | INFO | open_webui.routers.openai:get_all_models:390 - get_all_models() - {}
2025-05-11 19:24:53.762 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /_app/immutable/no des/16.O28c4w-m.js.map HTTP/1.1" 200 - {}
2025-05-11 19:24:54.212 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/models HTTP/1 .1" 200 - {}
2025-05-11 19:24:54.226 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/configs/ba nners HTTP/1.1" 200 - {}
2025-05-11 19:24:54.238 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/tools/ HTT P/1.1" 200 - {}
2025-05-11 19:24:54.260 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/chats/ab04 7ee9-03bb-418e-9bc4-d25aa3a4db4e HTTP/1.1" 200 - {}
2025-05-11 19:24:54.274 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/chats/ab04 7ee9-03bb-418e-9bc4-d25aa3a4db4e/tags HTTP/1.1" 500 - {}
Exception in ASGI application
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
self.dialect.do_execute(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: tag.meta
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/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 "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in call
await super().call(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 112, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in call
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in call
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in call
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 984, in inspect_websocket
return await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 963, in check_url
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 949, in commit_session_after_request
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/utils/security_headers.py", line 11, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 938, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/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 "/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)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
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)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/routers/chats.py", line 730, in get_chat_tags_by_id
return Tags.get_tags_by_ids_and_user_id(tags, user.id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/models/tags.py", line 92, in get_tags_by_ids_and_user_id
db.query(Tag).filter(Tag.id.in(ids), Tag.user_id == user_id).all()
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2699, in all
return self._iter().all() # type: ignore
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2853, in _iter
result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2365, in execute
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 305, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
return meth(
^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context
self._handle_dbapi_exception(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
self.dialect.do_execute(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: tag.meta
[SQL: SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta
FROM tag
WHERE tag.id IN (SELECT 1 FROM (SELECT 1) WHERE 1!=1) AND tag.user_id = ?]
[parameters: ('09f80afc-607e-486b-a73d-4f609568a076',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
### Additional Information
The issue appeared when updating from 0.6.4 to 0.6.5, did not resolve when updating to latest version
Apache2 reverse proxy with websocket support enabled.
Originally created by @BYTOOX on GitHub (May 11, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/13793
### Check Existing Issues
- [x] I have searched the existing issues and discussions.
- [x] I am using the latest version of Open WebUI.
### Installation Method
Docker
### Open WebUI Version
v0.6.9
### Ollama Version (if applicable)
_No response_
### Operating System
Debian 12
### Browser (if applicable)
Edge
### 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 listed steps to reproduce the bug in detail.
### Expected Behavior
When the user connects to the webui, there is a loading message on the left of theyre screens, where chats are saved. After a few seconds, the chats appear.
### Actual Behavior
When the user connects, the loading is infinite and no chats are displayed. If the users starts a new chat and sends one random message, all the chats appears instantly.
### Steps to Reproduce
1. Connect to the Web Ui
2. Start a new chat
3. Send a message
And then the saved chats are displayed
### Logs & Screenshots
```
Browser logs (after starting new chat)
+layout.svelte:539 Backend config: {status: true, name: 'Open WebUI', version: '0.6.9', default_locale: '', oauth: {…}, …}
+layout.svelte:79 connected 7c0D7PaS3d_mYzRlAAAJ
+layout.svelte:98 user-list {user_ids: Array(1)}
+layout.svelte:103 usage {models: Array(0)}
+layout.svelte:98 user-list {user_ids: Array(1)}
index.ts:344
GET https://ourdomain.com/api/v1/chats/all/tags 400 (Bad Request)
window.fetch @ fetcher.js:76
m @ index.ts:344
De @ Sidebar.svelte:170
(anonymous) @ Sidebar.svelte:394
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
(anonymous) @ +layout.svelte:635
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Pt @ Component.js:164
wt @ root.svelte:23
ct @ client.js:472
Z @ client.js:1580
await in Z
Le @ client.js:398
pn @ client.js:1926
In @ client.js:323
await in In
(anonymous) @ (index):130
Promise.then
(anonymous) @ (index):129
index.ts:361 {detail: 'Something went wrong :/'}detail: "Something went wrong :/"[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()__proto__: (...)get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()
Sidebar.svelte:409 Uncaught (in promise) {detail: 'Something went wrong :/'}
(anonymous) @ Sidebar.svelte:409
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
(anonymous) @ +layout.svelte:635
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Pt @ Component.js:164
wt @ root.svelte:23
ct @ client.js:472
Z @ client.js:1580
await in Z
Le @ client.js:398
pn @ client.js:1926
In @ client.js:323
await in In
(anonymous) @ (index):130
Promise.then
(anonymous) @ (index):129
Chat.svelte:406 mounted
RichTextInput.svelte:185 content
RichTextInput.svelte:187 [tiptap warn]: Duplicate extension names found: ['codeBlock']. This can lead to issues.
resolve @ index.js:1183
tn @ index.js:1169
createExtensionManager @ index.js:4580
BE @ index.js:4412
(anonymous) @ RichTextInput.svelte:187
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
(anonymous) @ +layout.svelte:223
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
(anonymous) @ +layout.svelte:635
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Pt @ Component.js:164
wt @ root.svelte:23
ct @ client.js:472
Z @ client.js:1580
await in Z
Le @ client.js:398
pn @ client.js:1926
In @ client.js:323
await in In
(anonymous) @ (index):130
Promise.then
(anonymous) @ (index):129
Placeholder.svelte:61 Could you start by asking me about instances when I procrastinate the most and then give me some suggestions to overcome it?
RichTextInput.svelte:138 TextSelection endpoint not pointing into a node with inline content (doc)
Ja @ index.js:221
q @ index.js:235
create @ index.js:281
(anonymous) @ RichTextInput.svelte:138
setTimeout
U @ RichTextInput.svelte:132
Y @ RichTextInput.svelte:430
KC.t.$$.update @ RichTextInput.svelte:393
dt @ scheduler.js:115
_t @ scheduler.js:79
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
An @ Chat.svelte:2096
h @ Chat.svelte:1989
(anonymous) @ Component.js:138
O @ Placeholder.svelte:56
fe @ Placeholder.svelte:230
(anonymous) @ lifecycle.js:105
(anonymous) @ lifecycle.js:104
E @ Suggestions.svelte:92
u @ Suggestions.svelte:95
Chat.svelte:1266 submitPrompt Could you start by asking me about instances when I procrastinate the most and then give me some suggestions to overcome it?
Chat.svelte:190 saveSessionSelectedModels ['gpt-4.1-nano-2025-04-14'] ["gpt-4.1-nano-2025-04-14"]
MessageInput.svelte:344 destroy
ResponseMessage.svelte:562 <div class="flex justify-start overflow-x-auto buttons text-gray-600 dark:text-gray-500 mt-0.5 svelte-1u5gq5j"></div>
RichTextInput.svelte:185 content
RichTextInput.svelte:187 [tiptap warn]: Duplicate extension names found: ['codeBlock']. This can lead to issues.
resolve @ index.js:1183
tn @ index.js:1169
createExtensionManager @ index.js:4580
BE @ index.js:4412
(anonymous) @ RichTextInput.svelte:187
await in (anonymous)
J @ utils.js:41
(anonymous) @ Component.js:47
_t @ scheduler.js:99
Promise.then
ut @ scheduler.js:20
ht @ Component.js:81
(anonymous) @ Component.js:139
me @ Chat.svelte:1318
sr @ Chat.svelte:2137
await in sr
(anonymous) @ lifecycle.js:105
(anonymous) @ lifecycle.js:104
x @ Placeholder.svelte:215
(anonymous) @ lifecycle.js:105
(anonymous) @ lifecycle.js:104
Fn @ MessageInput.svelte:508
(anonymous) @ dom.js:371
```
Docker Logs
2025-05-11 19:24:53.230 | ERROR | open_webui.routers.chats:get_all_user_tags:242 - (sqlite3.OperationalError) no such colum n: tag.meta
[SQL: SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta
FROM tag
WHERE tag.user_id = ?]
[parameters: ('09f80afc-607e-486b-a73d-4f609568a076',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - {}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
self.dialect.do_execute(
│ │ └ <function DefaultDialect.do_execute at 0x7f8389bd8a40>
│ └ <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x7f8365f85650>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
│ │ │ └ ('09f80afc-607e-486b-a73d-4f609568a076',)
│ │ └ 'SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta \nFROM t ag \nWHERE tag.user_...
│ └ <method 'execute' of 'sqlite3.Cursor' objects>
└ <sqlite3.Cursor object at 0x7f832833d440>
sqlite3.OperationalError: no such column: tag.meta
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module>
uvicorn.main()
│ └ <Command 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 1161, in __call__
return self.main(*args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <function BaseCommand.main at 0x7f838bba65c0>
└ <Command main>
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1082, in main
rv = self.invoke(ctx)
│ │ └ <click.core.Context object at 0x7f838c8e08d0>
│ └ <function Command.invoke at 0x7f838bba71a0>
└ <Command main>
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1443, 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 0x7f838c8e08d0>
│ │ │ └ <function main at 0x7f838b7d9da0>
│ │ └ <Command main>
│ └ <function Context.invoke at 0x7f838bba5b20>
└ <click.core.Context object at 0x7f838c8e08d0>
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 788, in invoke
return __callback(*args, **kwargs)
│ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webu i.main:app', 'uds': None, 'fd': ...
└ ()
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 412, in main
run(
└ <function run at 0x7f838bc30720>
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 579, in run
server.run()
│ └ <function Server.run at 0x7f838ba85b20>
└ <uvicorn.server.Server object at 0x7f838bab1e50>
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 66, in run
return asyncio.run(self.serve(sockets=sockets))
│ │ │ │ └ None
│ │ │ └ <function Server.serve at 0x7f838ba85bc0>
│ │ └ <uvicorn.server.Server object at 0x7f838bab1e50>
│ └ <function run at 0x7f838bf8d300>
└ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'>
File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
│ │ └ <coroutine object Server.serve at 0x7f838b9ae6b0>
│ └ <function Runner.run at 0x7f838be00ea0>
└ <asyncio.runners.Runner object at 0x7f838c86d110>
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:70> wai...
│ │ └ <cyfunction Loop.run_until_complete at 0x7f838b831490>
│ └ <uvloop.Loop running=True closed=False debug=False>
└ <asyncio.runners.Runner object at 0x7f838c86d110>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
│ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_e rror at 0x7f83284fb7e0>
│ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f832 a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('17 2.19.0.3', 8080), 'c...
│ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7f835c177250>
└ <open_webui.main.RedirectMiddleware object at 0x7f832a7a04d0>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
│ │ │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_n ext.<locals>.send_no_error at 0x7f83284fb7e0>
│ │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<loca ls>.receive_or_disconnect at 0x7f832a2b1440>
│ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, ' http_version': '1.1', 'server': ('172.19.0.3', 8080), 'c...
│ │ │ └ <starlette.requests.Request object at 0x7f832a5e6ed0>
│ │ └ <fastapi.routing.APIRouter object at 0x7f835456b9d0>
│ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7f835c177250>
└ <function wrap_app_handling_exceptions at 0x7f8388d15080>
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.<locals>.wrapped_app.<locals>.sender at 0x7f83284f8c20>
│ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f832a2b14 40>
│ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19. 0.3', 8080), 'c...
└ <fastapi.routing.APIRouter object at 0x7f835456b9d0>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__
await self.middleware_stack(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f83284f8c20>
│ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconne ct at 0x7f832a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', ' server': ('172.19.0.3', 8080), 'c...
│ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7f835456b9d0>>
└ <fastapi.routing.APIRouter object at 0x7f835456b9d0>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f83 284f8c20>
│ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7 f832a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.3', 8080), 'c...
│ └ <function Route.handle at 0x7f8388d16700>
└ APIRoute(path='/api/v1/chats/all/tags', name='get_all_user_tags', methods=['GET'])
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7f83284f 8c20>
│ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f832 a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('17 2.19.0.3', 8080), 'c...
│ └ <function request_response.<locals>.app at 0x7f832a97dbc0>
└ APIRoute(path='/api/v1/chats/all/tags', name='get_all_user_tags', methods=['GET'])
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
│ │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped _app.<locals>.sender at 0x7f83284f8c20>
│ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals >.receive_or_disconnect at 0x7f832a2b1440>
│ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'ht tp_version': '1.1', 'server': ('172.19.0.3', 8080), 'c...
│ │ └ <starlette.requests.Request object at 0x7f83284fd850>
│ └ <function request_response.<locals>.app.<locals>.app at 0x7f83284f8a40>
└ <function wrap_app_handling_exceptions at 0x7f8388d15080>
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.<locals>.wrapped_app.<locals>.sender at 0x7f83284f9a80>
│ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7f832a2b14 40>
│ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19. 0.3', 8080), 'c...
└ <function request_response.<locals>.app.<locals>.app at 0x7f83284f8a40>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
│ └ <starlette.requests.Request object at 0x7f83284fd850>
└ <function get_request_handler.<locals>.app at 0x7f832a97dee0>
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
raw_response = await run_endpoint_function(
└ <function run_endpoint_function at 0x7f8388d38540>
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
return await dependant.call(**values)
│ │ └ {'user': UserModel(id='09f80afc-607e-486b-a73d-4f609568a076', name='Arnaud Ortiz', email=' arnaud.ortiz@swissnova.ch', role='a...
│ └ <function get_all_user_tags at 0x7f83573389a0>
└ Dependant(path_params=[], query_params=[], header_params=[], cookie_params=[], body_params=[], dependencies =[Dependant(path_p...
> File "/app/backend/open_webui/routers/chats.py", line 239, in get_all_user_tags
tags = Tags.get_tags_by_user_id(user.id)
│ │ │ └ '09f80afc-607e-486b-a73d-4f609568a076'
│ │ └ UserModel(id='09f80afc-607e-486b-a73d-4f609568a076', name='Arnaud Ortiz', email='arnaud. ortiz@swissnova.ch', role='admin', pr...
│ └ <function TagTable.get_tags_by_user_id at 0x7f8363191760>
└ <open_webui.models.tags.TagTable object at 0x7f836316a910>
File "/app/backend/open_webui/models/tags.py", line 82, in get_tags_by_user_id
for tag in (db.query(Tag).filter_by(user_id=user_id).all())
│ │ │ └ '09f80afc-607e-486b-a73d-4f609568a076'
│ │ └ <class 'open_webui.models.tags.Tag'>
│ └ <function Session.query at 0x7f83635e0220>
└ <sqlalchemy.orm.session.Session object at 0x7f83284fe010>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2699, in all
return self._iter().all() # type: ignore
│ └ <function Query._iter at 0x7f83639ba3e0>
└ <sqlalchemy.orm.query.Query object at 0x7f83284fca90>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2853, in _iter
result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
│ │ │ │ │ │ └ <function Session.execute at 0x7f83635d7060>
│ │ │ │ │ └ <sqlalchemy.orm.session.Session object at 0x7f83284fe010>
│ │ │ │ └ <sqlalchemy.orm.query.Query object at 0x7f83284fca90>
│ │ │ └ ~_T
│ │ └ <class 'sqlalchemy.engine.result.Result'>
│ └ ~_T
└ typing.Union
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2365, in execute
return self._execute_internal(
│ └ <function Session._execute_internal at 0x7f83635d6d40>
└ <sqlalchemy.orm.session.Session object at 0x7f83284fe010>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
│ │ └ <classmethod(<function AbstractORMCompileState.orm_execute_statement at 0x7f8364 8f2520>)>
│ └ <class 'sqlalchemy.orm.context.ORMSelectCompileState'>
└ typing.Any
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 305, in orm_execute_statement
result = conn.execute(
│ └ <function Connection.execute at 0x7f8389db8540>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
return meth(
└ <bound method ClauseElement._execute_on_connection of <sqlalchemy.sql.selectable.Select object at 0x7f83284ff310> >
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
return connection._execute_clauseelement(
│ └ <function Connection._execute_clauseelement at 0x7f8389db8860>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement
ret = self._execute_context(
│ └ <function Connection._execute_context at 0x7f8389db8a40>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context
return self._exec_single_context(
│ └ <function Connection._exec_single_context at 0x7f8389db8ae0>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context
self._handle_dbapi_exception(
│ └ <function Connection._handle_dbapi_exception at 0x7f8389db8d60>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
│ │ │ └ OperationalError('no such column: tag.meta')
│ │ └ (<class 'sqlite3.OperationalError'>, OperationalError('no such column: tag.met a'), <traceback object at 0x7f832a33fd00>)
│ └ <method 'with_traceback' of 'BaseException' objects>
└ OperationalError('(sqlite3.OperationalError) no such column: tag.meta')
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
self.dialect.do_execute(
│ │ └ <function DefaultDialect.do_execute at 0x7f8389bd8a40>
│ └ <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x7f8365f85650>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
│ │ │ └ ('09f80afc-607e-486b-a73d-4f609568a076',)
│ │ └ 'SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta \nFROM t ag \nWHERE tag.user_...
│ └ <method 'execute' of 'sqlite3.Cursor' objects>
└ <sqlite3.Cursor object at 0x7f832833d440>
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: tag.meta
[SQL: SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta
FROM tag
WHERE tag.user_id = ?]
[parameters: ('09f80afc-607e-486b-a73d-4f609568a076',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-05-11 19:24:53.235 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/chats/all/ tags HTTP/1.1" 400 - {}
2025-05-11 19:24:53.236 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/users/user /settings HTTP/1.1" 200 - {}
2025-05-11 19:24:53.249 | INFO | open_webui.routers.openai:get_all_models:390 - get_all_models() - {}
2025-05-11 19:24:53.762 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /_app/immutable/no des/16.O28c4w-m.js.map HTTP/1.1" 200 - {}
2025-05-11 19:24:54.212 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/models HTTP/1 .1" 200 - {}
2025-05-11 19:24:54.226 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/configs/ba nners HTTP/1.1" 200 - {}
2025-05-11 19:24:54.238 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/tools/ HTT P/1.1" 200 - {}
2025-05-11 19:24:54.260 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/chats/ab04 7ee9-03bb-418e-9bc4-d25aa3a4db4e HTTP/1.1" 200 - {}
2025-05-11 19:24:54.274 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/chats/ab04 7ee9-03bb-418e-9bc4-d25aa3a4db4e/tags HTTP/1.1" 500 - {}
Exception in ASGI application
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
self.dialect.do_execute(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: tag.meta
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/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 "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 112, in __call__
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in __call__
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in __call__
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 984, in inspect_websocket
return await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 963, in check_url
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 949, in commit_session_after_request
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/utils/security_headers.py", line 11, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in __call__
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in __call__
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 938, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/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 "/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)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
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)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/routers/chats.py", line 730, in get_chat_tags_by_id
return Tags.get_tags_by_ids_and_user_id(tags, user.id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/models/tags.py", line 92, in get_tags_by_ids_and_user_id
db.query(Tag).filter(Tag.id.in_(ids), Tag.user_id == user_id).all()
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2699, in all
return self._iter().all() # type: ignore
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2853, in _iter
result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2365, in execute
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 305, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
return meth(
^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context
self._handle_dbapi_exception(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
self.dialect.do_execute(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: tag.meta
[SQL: SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta
FROM tag
WHERE tag.id IN (SELECT 1 FROM (SELECT 1) WHERE 1!=1) AND tag.user_id = ?]
[parameters: ('09f80afc-607e-486b-a73d-4f609568a076',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
```
### Additional Information
The issue appeared when updating from 0.6.4 to 0.6.5, did not resolve when updating to latest version
Apache2 reverse proxy with websocket support enabled.
GiteaMirror
added the bug label 2026-05-13 03:36:47 -05:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @BYTOOX on GitHub (May 11, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/13793
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.6.9
Ollama Version (if applicable)
No response
Operating System
Debian 12
Browser (if applicable)
Edge
Confirmation
README.md.Expected Behavior
When the user connects to the webui, there is a loading message on the left of theyre screens, where chats are saved. After a few seconds, the chats appear.
Actual Behavior
When the user connects, the loading is infinite and no chats are displayed. If the users starts a new chat and sends one random message, all the chats appears instantly.
Steps to Reproduce
And then the saved chats are displayed
Logs & Screenshots
Docker Logs
2025-05-11 19:24:53.230 | ERROR | open_webui.routers.chats:get_all_user_tags:242 - (sqlite3.OperationalError) no such colum n: tag.meta
[SQL: SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta
FROM tag
WHERE tag.user_id = ?]
[parameters: ('09f80afc-607e-486b-a73d-4f609568a076',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - {}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in exec_single_context
self.dialect.do_execute(
│ │ └ <function DefaultDialect.do_execute at 0x7f8389bd8a40>
│ └ <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x7f8365f85650>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
│ │ │ └ ('09f80afc-607e-486b-a73d-4f609568a076',)
│ │ └ 'SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta \nFROM t ag \nWHERE tag.user...
│ └ <method 'execute' of 'sqlite3.Cursor' objects>
└ <sqlite3.Cursor object at 0x7f832833d440>
sqlite3.OperationalError: no such column: tag.meta
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 1161, in call
return self.main(args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <function BaseCommand.main at 0x7f838bba65c0>
└
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1082, in main
rv = self.invoke(ctx)
│ │ └ <click.core.Context object at 0x7f838c8e08d0>
│ └ <function Command.invoke at 0x7f838bba71a0>
└
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1443, 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 0x7f838c8e08d0>
│ │ │ └ <function main at 0x7f838b7d9da0>
│ │ └
│ └ <function Context.invoke at 0x7f838bba5b20>
└ <click.core.Context object at 0x7f838c8e08d0>
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 788, in invoke
return __callback(args, **kwargs)
│ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '', 'workers': 1, 'app': 'open_webu i.main:app', 'uds': None, 'fd': ...
└ ()
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 412, in main
run(
└ <function run at 0x7f838bc30720>
File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 579, in run
server.run()
│ └ <function Server.run at 0x7f838ba85b20>
└ <uvicorn.server.Server object at 0x7f838bab1e50>
File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 66, in run
return asyncio.run(self.serve(sockets=sockets))
│ │ │ │ └ None
│ │ │ └ <function Server.serve at 0x7f838ba85bc0>
│ │ └ <uvicorn.server.Server object at 0x7f838bab1e50>
│ └ <function run at 0x7f838bf8d300>
└ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/__init__.py'>
File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
│ │ └ <coroutine object Server.serve at 0x7f838b9ae6b0>
│ └ <function Runner.run at 0x7f838be00ea0>
└ <asyncio.runners.Runner object at 0x7f838c86d110>
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:70> wai...
│ │ └ <cyfunction Loop.run_until_complete at 0x7f838b831490>
│ └ <uvloop.Loop running=True closed=False debug=False>
└ <asyncio.runners.Runner object at 0x7f838c86d110>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_e rror at 0x7f83284fb7e0>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832 a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('17 2.19.0.3', 8080), 'c...
│ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7f835c177250>
└ <open_webui.main.RedirectMiddleware object at 0x7f832a7a04d0>
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
│ │ │ │ │ │ └ <function BaseHTTPMiddleware.call..call_n ext..send_no_error at 0x7f83284fb7e0>
│ │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832a2b1440>
│ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, ' http_version': '1.1', 'server': ('172.19.0.3', 8080), 'c...
│ │ │ └ <starlette.requests.Request object at 0x7f832a5e6ed0>
│ │ └ <fastapi.routing.APIRouter object at 0x7f835456b9d0>
│ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7f835c177250>
└ <function wrap_app_handling_exceptions at 0x7f8388d15080>
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 0x7f83284f8c20>
│ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832a2b14 40>
│ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19. 0.3', 8080), 'c...
└ <fastapi.routing.APIRouter object at 0x7f835456b9d0>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in call
await self.middleware_stack(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f83284f8c20>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconne ct at 0x7f832a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', ' server': ('172.19.0.3', 8080), 'c...
│ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7f835456b9d0>>
└ <fastapi.routing.APIRouter object at 0x7f835456b9d0>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f83 284f8c20>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7 f832a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.3', 8080), 'c...
│ └ <function Route.handle at 0x7f8388d16700>
└ APIRoute(path='/api/v1/chats/all/tags', name='get_all_user_tags', methods=['GET'])
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
│ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f83284f 8c20>
│ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832 a2b1440>
│ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('17 2.19.0.3', 8080), 'c...
│ └ <function request_response..app at 0x7f832a97dbc0>
└ APIRoute(path='/api/v1/chats/all/tags', name='get_all_user_tags', methods=['GET'])
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
│ │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped _app..sender at 0x7f83284f8c20>
│ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832a2b1440>
│ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'ht tp_version': '1.1', 'server': ('172.19.0.3', 8080), 'c...
│ │ └ <starlette.requests.Request object at 0x7f83284fd850>
│ └ <function request_response..app..app at 0x7f83284f8a40>
└ <function wrap_app_handling_exceptions at 0x7f8388d15080>
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 0x7f83284f9a80>
│ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f832a2b14 40>
│ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19. 0.3', 8080), 'c...
└ <function request_response..app..app at 0x7f83284f8a40>
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
│ └ <starlette.requests.Request object at 0x7f83284fd850>
└ <function get_request_handler..app at 0x7f832a97dee0>
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
raw_response = await run_endpoint_function(
└ <function run_endpoint_function at 0x7f8388d38540>
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
return await dependant.call(**values)
│ │ └ {'user': UserModel(id='09f80afc-607e-486b-a73d-4f609568a076', name='Arnaud Ortiz', email=' arnaud.ortiz@swissnova.ch', role='a...
│ └ <function get_all_user_tags at 0x7f83573389a0>
└ Dependant(path_params=[], query_params=[], header_params=[], cookie_params=[], body_params=[], dependencies =[Dependant(path_p...
File "/app/backend/open_webui/models/tags.py", line 82, in get_tags_by_user_id
for tag in (db.query(Tag).filter_by(user_id=user_id).all())
│ │ │ └ '09f80afc-607e-486b-a73d-4f609568a076'
│ │ └ <class 'open_webui.models.tags.Tag'>
│ └ <function Session.query at 0x7f83635e0220>
└ <sqlalchemy.orm.session.Session object at 0x7f83284fe010>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2699, in all
return self._iter().all() # type: ignore
│ └ <function Query._iter at 0x7f83639ba3e0>
└ <sqlalchemy.orm.query.Query object at 0x7f83284fca90>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2853, in _iter
result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
│ │ │ │ │ │ └ <function Session.execute at 0x7f83635d7060>
│ │ │ │ │ └ <sqlalchemy.orm.session.Session object at 0x7f83284fe010>
│ │ │ │ └ <sqlalchemy.orm.query.Query object at 0x7f83284fca90>
│ │ │ └ ~_T
│ │ └ <class 'sqlalchemy.engine.result.Result'>
│ └ ~_T
└ typing.Union
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2365, in execute
return self._execute_internal(
│ └ <function Session._execute_internal at 0x7f83635d6d40>
└ <sqlalchemy.orm.session.Session object at 0x7f83284fe010>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
│ │ └ <classmethod(<function AbstractORMCompileState.orm_execute_statement at 0x7f8364 8f2520>)>
│ └ <class 'sqlalchemy.orm.context.ORMSelectCompileState'>
└ typing.Any
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 305, in orm_execute_statement
result = conn.execute(
│ └ <function Connection.execute at 0x7f8389db8540>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
return meth(
└ <bound method ClauseElement._execute_on_connection of <sqlalchemy.sql.selectable.Select object at 0x7f83284ff310> >
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
return connection._execute_clauseelement(
│ └ <function Connection._execute_clauseelement at 0x7f8389db8860>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement
ret = self._execute_context(
│ └ <function Connection._execute_context at 0x7f8389db8a40>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context
return self._exec_single_context(
│ └ <function Connection._exec_single_context at 0x7f8389db8ae0>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context
self._handle_dbapi_exception(
│ └ <function Connection._handle_dbapi_exception at 0x7f8389db8d60>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
│ │ │ └ OperationalError('no such column: tag.meta')
│ │ └ (<class 'sqlite3.OperationalError'>, OperationalError('no such column: tag.met a'), <traceback object at 0x7f832a33fd00>)
│ └ <method 'with_traceback' of 'BaseException' objects>
└ OperationalError('(sqlite3.OperationalError) no such column: tag.meta')
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in exec_single_context
self.dialect.do_execute(
│ │ └ <function DefaultDialect.do_execute at 0x7f8389bd8a40>
│ └ <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x7f8365f85650>
└ <sqlalchemy.engine.base.Connection object at 0x7f83284ff4d0>
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
│ │ │ └ ('09f80afc-607e-486b-a73d-4f609568a076',)
│ │ └ 'SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta \nFROM t ag \nWHERE tag.user...
│ └ <method 'execute' of 'sqlite3.Cursor' objects>
└ <sqlite3.Cursor object at 0x7f832833d440>
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: tag.meta
[SQL: SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta
FROM tag
WHERE tag.user_id = ?]
[parameters: ('09f80afc-607e-486b-a73d-4f609568a076',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-05-11 19:24:53.235 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/chats/all/ tags HTTP/1.1" 400 - {}
2025-05-11 19:24:53.236 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/users/user /settings HTTP/1.1" 200 - {}
2025-05-11 19:24:53.249 | INFO | open_webui.routers.openai:get_all_models:390 - get_all_models() - {}
2025-05-11 19:24:53.762 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /_app/immutable/no des/16.O28c4w-m.js.map HTTP/1.1" 200 - {}
2025-05-11 19:24:54.212 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/models HTTP/1 .1" 200 - {}
2025-05-11 19:24:54.226 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/configs/ba nners HTTP/1.1" 200 - {}
2025-05-11 19:24:54.238 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/tools/ HTT P/1.1" 200 - {}
2025-05-11 19:24:54.260 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/chats/ab04 7ee9-03bb-418e-9bc4-d25aa3a4db4e HTTP/1.1" 200 - {}
2025-05-11 19:24:54.274 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 212.243.34.5:0 - "GET /api/v1/chats/ab04 7ee9-03bb-418e-9bc4-d25aa3a4db4e/tags HTTP/1.1" 500 - {}
Exception in ASGI application
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
self.dialect.do_execute(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: tag.meta
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/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 "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in call
await super().call(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 112, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in call
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in call
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in call
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 984, in inspect_websocket
return await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 963, in check_url
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 949, in commit_session_after_request
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/utils/security_headers.py", line 11, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 177, in call
with recv_stream, send_stream, collapse_excgroups():
File "/usr/local/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 179, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/main.py", line 938, in dispatch
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 154, in call_next
raise app_exc
File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/usr/local/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 "/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)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in call
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
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)
File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/routers/chats.py", line 730, in get_chat_tags_by_id
return Tags.get_tags_by_ids_and_user_id(tags, user.id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/backend/open_webui/models/tags.py", line 92, in get_tags_by_ids_and_user_id
db.query(Tag).filter(Tag.id.in(ids), Tag.user_id == user_id).all()
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2699, in all
return self._iter().all() # type: ignore
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2853, in _iter
result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2365, in execute
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 305, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
return meth(
^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context
self._handle_dbapi_exception(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2352, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
self.dialect.do_execute(
File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 942, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: tag.meta
[SQL: SELECT tag.id AS tag_id, tag.name AS tag_name, tag.user_id AS tag_user_id, tag.meta AS tag_meta
FROM tag
WHERE tag.id IN (SELECT 1 FROM (SELECT 1) WHERE 1!=1) AND tag.user_id = ?]
[parameters: ('09f80afc-607e-486b-a73d-4f609568a076',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)