[GH-ISSUE #20465] issue: Image Thumbnails 401 errors #34722

Closed
opened 2026-04-25 08:49:37 -05:00 by GiteaMirror · 18 comments
Owner

Originally created by @atnjqt on GitHub (Jan 7, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/20465

Open WebUI Image Thumbnails failing to load with 401 errors

Expected Behavior

We have noticed that on moving to version v0.6.43 (and perhaps as early as v0.6.41) the image thumbnails are not loading properly on Open-WebUI. The console log shows various 401 errors for fetching images.

Actual Behavior

Navigating manually to URLs https://<SITE_URL>/api/v1/models/model/profile/image shows {"detail":"Not authenticated"}. In the UI the image thumbnails are broken:

Image

Same with use account profile images:

Image

Steps to Reproduce

Upgraded per usual from v0.6.3x to x0.6.4x

Logs & Screenshots

Console logs show 401 errors for model and image thumbnails.

Image

Additional Information

No response

Originally created by @atnjqt on GitHub (Jan 7, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/20465 ## Open WebUI Image Thumbnails failing to load with 401 errors ### Expected Behavior We have noticed that on moving to version v0.6.43 (and perhaps as early as v0.6.41) the image thumbnails are not loading properly on Open-WebUI. The console log shows various 401 errors for fetching images. ### Actual Behavior Navigating manually to URLs https://<SITE_URL>/api/v1/models/model/profile/image shows `{"detail":"Not authenticated"}`. In the UI the image thumbnails are broken: <img width="276" height="293" alt="Image" src="https://github.com/user-attachments/assets/cba9c453-3d33-4026-99f6-4477396f5ef6" /> Same with use account profile images: <img width="236" height="237" alt="Image" src="https://github.com/user-attachments/assets/65816770-b73d-4fe3-9a8d-b79cdea624e7" /> ### Steps to Reproduce Upgraded per usual from v0.6.3x to x0.6.4x ### Logs & Screenshots Console logs show 401 errors for model and image thumbnails. <img width="757" height="210" alt="Image" src="https://github.com/user-attachments/assets/5ced4e64-f34f-4ffb-9ecf-323816624a36" /> ### Additional Information _No response_
GiteaMirror added the bugconfirmed issue labels 2026-04-25 08:49:37 -05:00
Author
Owner

@owui-terminator[bot] commented on GitHub (Jan 7, 2026):

🔍 Similar Issues Found

I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:

  1. #20237 issue: Image editing stopped working
    by tomasloksa • Dec 29, 2025 • bug, confirmed issue

  2. #20436 issue: image generation cannot finish normally
    by lywbh • Jan 07, 2026 • bug

  3. #20091 issue: image is regarded as binary in temp chat
    by funnycups • Dec 22, 2025 • bug

  4. #19215 issue:Server Failed opening Admin > Settings > Images Panel
    by fordinator • Nov 16, 2025 • bug

  5. #19187 issue: Image generation menu gone.
    by calebrio02 • Nov 14, 2025 • bug

Show 5 more related issues
  1. #19246 issue: Access /admin/settings/images (Server connection failed)
    by plitc • Nov 17, 2025 • bug

  2. #19496 issue: 500 internal server error appears in v0.6.40
    by cloudtuotuo • Nov 26, 2025 • bug

  3. #19451 issue: Images with gpt-image-1 ERROR: No connection adapters were found
    by 3keyallen3 • Nov 25, 2025 • bug

  4. #19438 issue: Icon loading regression
    by JoelShepard • Nov 24, 2025 • bug

  5. #18995 issue: image generation and edition doesn’t work on temporary chats
    by futureshield • Nov 06, 2025 • bug


💡 Tips:

  • If this is a duplicate, please consider closing this issue and adding any additional details to the existing one
  • If you found a solution in any of these issues, please share it here to help others

This comment was generated automatically by a bot. Please react with a 👍 if this comment was helpful, or a 👎 if it was not.

<!-- gh-comment-id:3720840426 --> @owui-terminator[bot] commented on GitHub (Jan 7, 2026): 🔍 **Similar Issues Found** I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions: 1. [#20237](https://github.com/open-webui/open-webui/issues/20237) **issue: Image editing stopped working** *by tomasloksa • Dec 29, 2025 • `bug`, `confirmed issue`* 2. [#20436](https://github.com/open-webui/open-webui/issues/20436) **issue: image generation cannot finish normally** *by lywbh • Jan 07, 2026 • `bug`* 3. [#20091](https://github.com/open-webui/open-webui/issues/20091) **issue: image is regarded as binary in temp chat** *by funnycups • Dec 22, 2025 • `bug`* 4. [#19215](https://github.com/open-webui/open-webui/issues/19215) **issue:Server Failed opening Admin > Settings > Images Panel** *by fordinator • Nov 16, 2025 • `bug`* 5. [#19187](https://github.com/open-webui/open-webui/issues/19187) **issue: Image generation menu gone.** *by calebrio02 • Nov 14, 2025 • `bug`* <details> <summary>Show 5 more related issues</summary> 6. [#19246](https://github.com/open-webui/open-webui/issues/19246) **issue: Access /admin/settings/images (Server connection failed)** *by plitc • Nov 17, 2025 • `bug`* 7. [#19496](https://github.com/open-webui/open-webui/issues/19496) **issue: 500 internal server error appears in v0.6.40** *by cloudtuotuo • Nov 26, 2025 • `bug`* 8. [#19451](https://github.com/open-webui/open-webui/issues/19451) **issue: Images with gpt-image-1 ERROR: No connection adapters were found** *by 3keyallen3 • Nov 25, 2025 • `bug`* 9. [#19438](https://github.com/open-webui/open-webui/issues/19438) **issue: Icon loading regression** *by JoelShepard • Nov 24, 2025 • `bug`* 10. [#18995](https://github.com/open-webui/open-webui/issues/18995) **issue: image generation and edition doesn’t work on temporary chats** *by futureshield • Nov 06, 2025 • `bug`* </details> --- 💡 **Tips:** - If this is a duplicate, please consider closing this issue and adding any additional details to the existing one - If you found a solution in any of these issues, please share it here to help others *This comment was generated automatically by a bot.* Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
Author
Owner

@atnjqt commented on GitHub (Jan 7, 2026):

The bot is confusing this issue with image generation using the tool -- this issue is about an issue with fetching internal resources like model and user account image thumbnails

<!-- gh-comment-id:3720843966 --> @atnjqt commented on GitHub (Jan 7, 2026): The bot is confusing this issue with image generation using the tool -- this issue is about an issue with fetching internal resources like model and user account image thumbnails
Author
Owner

@atnjqt commented on GitHub (Jan 7, 2026):

I suspect this is perhaps related to image tags now using credentials for crossorigin="use-credentials"

a7271532f8/src/lib/components/workspace/Models.svelte (L466-L470)

<!-- gh-comment-id:3720882862 --> @atnjqt commented on GitHub (Jan 7, 2026): I suspect this is perhaps related to image tags now using credentials for `crossorigin="use-credentials"` https://github.com/open-webui/open-webui/blob/a7271532f8a38da46785afcaa7e65f9a45e7d753/src/lib/components/workspace/Models.svelte#L466-L470
Author
Owner

@silentoplayz commented on GitHub (Jan 7, 2026):

I am unable to reproduce this issue on the latest dev branch. This issue has likely been fixed by bb821ab654 on the dev branch as well, so the issue should likely be solved already (and will be solved for most users using the main branch in the next version release).

<!-- gh-comment-id:3721030617 --> @silentoplayz commented on GitHub (Jan 7, 2026): I am unable to reproduce this issue on the latest `dev` branch. This issue has likely been fixed by https://github.com/open-webui/open-webui/commit/bb821ab654e93908a3b4632c359753eeff053264 on the `dev` branch as well, so the issue should likely be solved already (and will be solved for most users using the `main` branch in the next version release).
Author
Owner

@atnjqt commented on GitHub (Jan 7, 2026):

Thanks for getting back -- and admittedly I cut corners this likely is of course related to my proxying setup for which I did not provide sufficient details.

<!-- gh-comment-id:3721038360 --> @atnjqt commented on GitHub (Jan 7, 2026): Thanks for getting back -- and admittedly I cut corners this likely is of course related to my proxying setup for which I did not provide sufficient details.
Author
Owner

@atnjqt commented on GitHub (Jan 13, 2026):

Pinging back here @silentoplayz as upgrading to v0.7.2 release did not resolve this. I'm pretty sure this was introduced around v0.6.41.

But yes links like /api/v1/models/model/profile/image?id=gpt-5 return Not authenticated even though I am logged into the application.

Image
<!-- gh-comment-id:3745566531 --> @atnjqt commented on GitHub (Jan 13, 2026): Pinging back here @silentoplayz as upgrading to v0.7.2 release did not resolve this. I'm pretty sure this was introduced around v0.6.41. But yes links like `/api/v1/models/model/profile/image?id=gpt-5` return **Not authenticated** even though I am logged into the application. <img width="608" height="168" alt="Image" src="https://github.com/user-attachments/assets/34c68220-154f-43e4-8a4e-4dc13945f977" />
Author
Owner

@atnjqt commented on GitHub (Jan 13, 2026):

Notably in the User Settings > Account my custom profile image does actually show (though the URL is a data:image/jpeg;base64 and not a path on the API) whereas the URL to /api/v1/users/06e52cf3-7ffb-410b-96c8-60bed6a28b9c/profile/image shows Not Authenticated

Image Image
<!-- gh-comment-id:3745574625 --> @atnjqt commented on GitHub (Jan 13, 2026): Notably in the User Settings > Account my custom profile image does actually show (though the URL is a `data:image/jpeg;base64` and not a path on the API) whereas the URL to `/api/v1/users/06e52cf3-7ffb-410b-96c8-60bed6a28b9c/profile/image` shows Not Authenticated <img width="609" height="276" alt="Image" src="https://github.com/user-attachments/assets/12f637d1-d8fd-489e-8b7a-a099eed580b9" /> <img width="240" height="332" alt="Image" src="https://github.com/user-attachments/assets/59ec1453-87fa-4b5f-b8ef-ed9752612c78" />
Author
Owner

@Classic298 commented on GitHub (Jan 13, 2026):

i cannot reproduce, model images always worked for me except on local dev setups but i dont configure them properly - saying you should investigate network issues and configuration options i.e. env vars like CORS

<!-- gh-comment-id:3745597368 --> @Classic298 commented on GitHub (Jan 13, 2026): i cannot reproduce, model images always worked for me except on local dev setups but i dont configure them properly - saying you should investigate network issues and configuration options i.e. env vars like CORS
Author
Owner

@atnjqt commented on GitHub (Jan 13, 2026):

Thanks for the reply @Classic298 and yes I believe the issue is with the frontend browser requesting resources from the API but not sending credentials to the backend to authenticate. Inspecting the browser console would reveal CORS errors if this was a cross origin issue, but it's 401 unauthorized returned by the backend.

Nothing changed on my proxy setup between versions 0.6.41 and 0.7.x so I suspect it's something with how Open-WebUI is requesting img assets from the backend. Again I don't mean to suggest my custom proxy setup is supported, but regardless it is odd this stopped working. Docker logs confirm the uvicorn backend returns 401 Forbidden

2026-01-13 18:55:41.785 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /static/logo.png HTTP/1.1" 200
2026-01-13 18:55:42.897 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.67:0 - "GET /_app/version.json HTTP/1.1" 304
2026-01-13 18:55:48.283 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /api/v1/models/model/profile/image?id=gpt-5&lang=en-US HTTP/1.1" 401
2026-01-13 18:55:48.709 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /favicon.ico HTTP/1.1" 200
2026-01-13 18:55:50.533 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /api/v1/models/model/profile/image?id=gpt-5&lang=en-US HTTP/1.1" 401
2026-01-13 18:55:50.823 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /favicon.ico HTTP/1.1" 200
2026-01-13 18:55:51.081 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /api/v1/models/model/profile/image?id=gpt-5&lang=en-US HTTP/1.1" 401
2026-01-13 18:55:51.349 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /favicon.ico HTTP/1.1" 
Image
<!-- gh-comment-id:3745894093 --> @atnjqt commented on GitHub (Jan 13, 2026): Thanks for the reply @Classic298 and yes I believe the issue is with the frontend browser requesting resources from the API but not sending credentials to the backend to authenticate. Inspecting the browser console would reveal CORS errors if this was a cross origin issue, but it's 401 unauthorized returned by the backend. Nothing changed on my proxy setup between versions 0.6.41 and 0.7.x so I suspect it's something with how Open-WebUI is requesting img assets from the backend. Again I don't mean to suggest my custom proxy setup is supported, but regardless it is odd this stopped working. Docker logs confirm the uvicorn backend returns 401 Forbidden ``` 2026-01-13 18:55:41.785 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /static/logo.png HTTP/1.1" 200 2026-01-13 18:55:42.897 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.67:0 - "GET /_app/version.json HTTP/1.1" 304 2026-01-13 18:55:48.283 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /api/v1/models/model/profile/image?id=gpt-5&lang=en-US HTTP/1.1" 401 2026-01-13 18:55:48.709 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /favicon.ico HTTP/1.1" 200 2026-01-13 18:55:50.533 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /api/v1/models/model/profile/image?id=gpt-5&lang=en-US HTTP/1.1" 401 2026-01-13 18:55:50.823 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /favicon.ico HTTP/1.1" 200 2026-01-13 18:55:51.081 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /api/v1/models/model/profile/image?id=gpt-5&lang=en-US HTTP/1.1" 401 2026-01-13 18:55:51.349 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.30.12.62:0 - "GET /favicon.ico HTTP/1.1" ``` <img width="648" height="852" alt="Image" src="https://github.com/user-attachments/assets/722d9243-e307-4a38-80b3-f92a51d901bc" />
Author
Owner

@atnjqt commented on GitHub (Jan 13, 2026):

Okay I did some more due diligence here and this is referenced in the release notes for v0.6.37 (https://github.com/open-webui/open-webui/releases/tag/v0.6.37)

📈 Model list API performance was optimized by pre-fetching user group memberships and removing profile image URLs from response payloads, significantly reducing both database queries and payload size for instances with large model lists, with profile images now served dynamically via dedicated endpoints. #19097, #18950

<!-- gh-comment-id:3745932487 --> @atnjqt commented on GitHub (Jan 13, 2026): Okay I did some more due diligence here and this is referenced in the release notes for v0.6.37 (https://github.com/open-webui/open-webui/releases/tag/v0.6.37) > 📈 Model list API performance was optimized by pre-fetching user group memberships and removing profile image URLs from response payloads, significantly reducing both database queries and payload size for instances with large model lists, with profile images now served dynamically via dedicated endpoints. [#19097](https://github.com/open-webui/open-webui/pull/19097), [#18950](https://github.com/open-webui/open-webui/issues/18950)
Author
Owner

@atnjqt commented on GitHub (Jan 13, 2026):

This obviously isn't crucial to get the thumbnail images loading again as chat functionality isn't impacted. But I did at least think worthwhile to raise as an issue as I suspect something about v0.6.37 release isn't properly authenticating API keys to images for models or user accounts.

<!-- gh-comment-id:3745977223 --> @atnjqt commented on GitHub (Jan 13, 2026): This obviously isn't crucial to get the thumbnail images loading again as chat functionality isn't impacted. But I did at least think worthwhile to raise as an issue as I suspect something about v0.6.37 release isn't properly authenticating API keys to images for models or user accounts.
Author
Owner

@Classic298 commented on GitHub (Jan 13, 2026):

unfortunately as long as I cannot reproduce it i cannot work on a fix

<!-- gh-comment-id:3746150932 --> @Classic298 commented on GitHub (Jan 13, 2026): unfortunately as long as I cannot reproduce it i cannot work on a fix
Author
Owner

@silentoplayz commented on GitHub (Jan 14, 2026):

I am sometimes able to reproduce something close to the reported issue (or perhaps it's the same issue, only dressed up differently) on the dev branch of Open WebUI from my Superadmin role account.

Image Image Image Image

Instead of seeing something like {"detail":"Not authenticated"} when I visit a URL that failed the GET request (as reported by @atnjqt), I see {"detail":"401 Unauthorized"} instead.

BUT, this issue is TEMPORARY and may have something to do with the way OWUI caches images.

I logged into a user account in a new container tab in Firefox and model images loaded fine. Accessing the same URL resulted in being able to see the model's avatar image as expected. The simple act of logging into another account in another tab seemed to be enough to solve this temporary issue, before the issue eventually swings back around again when it decides to.

<!-- gh-comment-id:3747539967 --> @silentoplayz commented on GitHub (Jan 14, 2026): I am **sometimes** able to reproduce *something* close to the reported issue (or perhaps it's the same issue, only dressed up differently) on the `dev` branch of Open WebUI from my `Superadmin` role account. <img width="2552" height="1281" alt="Image" src="https://github.com/user-attachments/assets/99139dc0-9ac4-4380-87b7-9259080100ff" /> <img width="2552" height="1281" alt="Image" src="https://github.com/user-attachments/assets/e02fe882-254f-4efd-9dc8-8af0b9c0047c" /> <img width="2552" height="1281" alt="Image" src="https://github.com/user-attachments/assets/f521694d-9cfe-4df9-8dec-cfda093711b9" /> <img width="448" height="279" alt="Image" src="https://github.com/user-attachments/assets/81742245-b518-4cb9-914c-78beb003b8ed" /> Instead of seeing something like `{"detail":"Not authenticated"}` when I visit a URL that failed the GET request (as reported by @atnjqt), I see `{"detail":"401 Unauthorized"}` instead. **BUT**, this issue is **TEMPORARY** and may have something to do with the way OWUI caches images. I logged into a user account in a new container tab in Firefox and model images loaded fine. Accessing the same URL resulted in being able to see the model's avatar image as expected. The simple act of logging into another account in another tab seemed to be enough to solve this temporary issue, before the issue eventually swings back around again when it decides to.
Author
Owner

@CristianoYL commented on GitHub (Feb 7, 2026):

I ran into the same issue post 0.6.41 and I think I have a rough idea on why and how to reproduce it. As @atnjqt mentioned, it has something to do with the reverse proxy.

If I change my nginx config from proxy_set_header Host $host; to proxy_set_header Host localhost; it would work. However, this is not an ideal fix. Given that it used to work, maybe there's some change in the backend's allowed host header config?

<!-- gh-comment-id:3865691911 --> @CristianoYL commented on GitHub (Feb 7, 2026): I ran into the same issue post 0.6.41 and I think I have a rough idea on why and how to reproduce it. As @atnjqt mentioned, it has something to do with the reverse proxy. If I change my nginx config from `proxy_set_header Host $host;` to `proxy_set_header Host localhost;` it would work. However, this is not an ideal fix. Given that it used to work, maybe there's some change in the backend's allowed host header config?
Author
Owner

@atnjqt commented on GitHub (Feb 13, 2026):

@CristianoYL curious to know what authentication mechanism you're using. In my case I have a somewhat hacky setup to use Shibboleth & Apache as a reverse proxy to serve trusted headers (https://docs.openwebui.com/features/auth/sso#trusted-header) to an Open-WebUI container. I've got another personal setup which is using OIDC with reverse proxy so perhaps this is something with how I'm (incorrectly) exposing those custom trusted headers

<!-- gh-comment-id:3897927740 --> @atnjqt commented on GitHub (Feb 13, 2026): @CristianoYL curious to know what authentication mechanism you're using. In my case I have a somewhat hacky setup to use Shibboleth & Apache as a reverse proxy to serve trusted headers (https://docs.openwebui.com/features/auth/sso#trusted-header) to an Open-WebUI container. I've got another personal setup which is using OIDC with reverse proxy so perhaps this is something with how I'm (incorrectly) exposing those custom trusted headers
Author
Owner

@atnjqt commented on GitHub (Feb 13, 2026):

I'll need to eventually migrate our hosts to the OIDC setup given it's much cleaner & better supported and can share back if this resolves. But yeah this one has been confusing -- like either someone about reverse proxy setups, auth headers, or some previous persistent config value baked into my settings

<!-- gh-comment-id:3897935346 --> @atnjqt commented on GitHub (Feb 13, 2026): I'll need to eventually migrate our hosts to the OIDC setup given it's much cleaner & better supported and can share back if this resolves. But yeah this one has been confusing -- like either someone about reverse proxy setups, auth headers, or some previous persistent config value baked into my settings
Author
Owner

@atnjqt commented on GitHub (Feb 13, 2026):

Alright I solved it, and predictably, this was user error in configuring the proxy layer.

Specifically the following configuration was breaking the thumbnail images. Commenting this out in my Apache configuration immediately resolved this.

ProxyPassReverseCookiePath / /ws/socket.io/

<!-- gh-comment-id:3898310690 --> @atnjqt commented on GitHub (Feb 13, 2026): Alright I solved it, and predictably, this was user error in configuring the proxy layer. Specifically the following configuration was breaking the thumbnail images. Commenting this out in my Apache configuration immediately resolved this. `ProxyPassReverseCookiePath / /ws/socket.io/`
Author
Owner

@atnjqt commented on GitHub (Feb 13, 2026):

some good lessons learned here, and for anyone struggling I would recommend taking a database backup, then rerunning your app with persistent configurations disabled (what is clearly marked as step 1 in the troubleshooting here: https://docs.openwebui.com/getting-started/env-configuration/#troubleshooting-ignored-environment-variables-%EF%B8%8F).

From there you can more scientifically make configuration changes with confidence, which lead me to recreating my apache config from scratch. Best all!

<!-- gh-comment-id:3898320323 --> @atnjqt commented on GitHub (Feb 13, 2026): some good lessons learned here, and for anyone struggling I would recommend taking a database backup, then rerunning your app with persistent configurations disabled (what is clearly marked as step 1 in the troubleshooting here: https://docs.openwebui.com/getting-started/env-configuration/#troubleshooting-ignored-environment-variables-%EF%B8%8F). From there you can more scientifically make configuration changes with confidence, which lead me to recreating my apache config from scratch. Best all!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#34722