Originally created by @silentoplayz on GitHub (Oct 24, 2025).
Check Existing Issues
I have searched for any existing and/or related issues.
I have searched for any existing and/or related discussions.
I am using the latest version of Open WebUI.
Installation Method
Docker
Open WebUI Version
v0.6.34
Ollama Version (if applicable)
v0.12.6
Operating System
Ubuntu 24.04.3 LTS
Browser (if applicable)
Mozilla Firefox Snap for Ubuntu - v144.0 (64-bit)
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 provided every relevant configuration, setting, and environment variable used in my setup.
I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
Start with the initial platform/version/OS and dependencies used,
Specify exact install/launch/configure commands,
List URLs visited, user input (incl. example values/emails/passwords if needed),
Describe all options and toggles enabled or changed,
Include any files or environmental changes,
Identify the expected and actual result at each stage,
Ensure any reasonably skilled user can follow and hit the same issue.
Expected Behavior
I'm not 100% on what to expect here, but I do have some ideas/suggestions:
Add validation check(s) in place to prevent duplicate default prompt suggestions from being created/saved in the UI, which causes unhandled exceptions and the web page to freeze up under certain conditions.
After saving duplicate default prompt suggestions, the UI should either warn about duplicates or silently deduplicate them, then return to a responsive state.
These suggestions should keep the UI responsive, avoids data loss, and doesn’t punish the user with extra clicks.
Actual Behavior
I am able to create and save multiple of the same (duplicate) prompt suggestions without warning.
The freeze is triggered either by:
Opening the “New Chat” page (if duplicates were created in Admin → Settings → Interface), or
Selecting a model in the model-selector (if duplicates were created in Admin → Settings → Models → Edit → Default Prompt Suggestions).
Steps to Reproduce
Start with a clean Ubuntu 24.04.3 LTS install.
Install the latest version of Docker and start the service.
Run docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://host.docker.internal:11434 --add-host=host.docker.internal:host-gateway --name open-webui ghcr.io/open-webui/open-webui:main
Beneath the “Default Prompt Suggestions” section at the bottom of the page, create any two prompt suggestions that are exactly the same (exact duplicate)
Click “New Chat” in the chat sidebar to return back to the landing page.
Observe the "New Chat" page itself simply grayed out. The rest of the UI becomes unresponsive (frozen); browser console shows a JS error.
Refresh the page; UI loads again, the issue is only triggered again. You will need to click on another chat in the chats sidebar and THEN refresh the page to break out of this loop (easy enough).
From another chat's page (after clicking on one in the chats sidebar and refreshing the page), you can go back in the Interface admin settings to remove the duplicate default prompt suggestion(s) to revert the change made to cause this issue.
To reproduce the second bug:
Admin Panel → Settings → Models → Edit any model → Default Prompt Suggestions field; identical freeze occurs with a different JS error thrown in the browser's console. This could also be done with a custom Workspace model from a base model if desired to reproduce the 2nd issue this way.
Select the model in the model dropdown of the New Chat page to trigger/reproduce this bug.
TL;DR:
Path A – Interface duplicates
1.1 Admin Panel → Settings → Interface
1.2 “Default Prompt Suggestions” → add two duplicate suggestions (e.g. “Tell me a fun fact about Open WebUI.”) → Save.
1.3 Click “New Chat” → page freezes (console: Cannot have duplicate keys in a keyed each).
Path B – Model duplicates
2.1 Admin Panel → Settings → Models → Edit any model → “Default Prompt Suggestions” → add two duplicate suggestions → Save.
2.2 New Chat → select the edited model → same freeze.
Uncaught(inpromise)Error:Cannothaveduplicatekeysinakeyedeach:Keysatindex0and1withvalue'Tell me a fun fact about Open WebUI.'areduplicatesvalidate_each_keyseach.js:135create_if_blockSuggestions.svelte:189create_fragmentSuggestions.svelte:85initComponent.js:148SuggestionsSuggestions.svelte:775createProxiedComponentsvelte-hooks.js:341ProxyComponentproxy.js:242Proxy<Suggestions>proxy.js:349create_key_blockChatPlaceholder.svelte:768create_fragmentChatPlaceholder.svelte:1052initComponent.js:148ChatPlaceholderChatPlaceholder.svelte:1242createProxiedComponentsvelte-hooks.js:341ProxyComponentproxy.js:242Proxy<ChatPlaceholder>proxy.js:349create_if_blockMessages.svelte:150create_fragmentMessages.svelte:740initComponent.js:148MessagesMessages.svelte:1464createProxiedComponentsvelte-hooks.js:341ProxyComponentproxy.js:242Proxy<Messages>proxy.js:349create_if_block_1Chat.svelte:792create_default_slot_1Chat.svelte:1155create_slotutils.js:165create_fragment2paneforge.js:1608initComponent.js:148Panepaneforge.js:1917create_default_slotChat.svelte:1284create_slotutils.js:165create_fragmentpaneforge.js:1239initComponent.js:148Pane_grouppaneforge.js:1524create_if_blockChat.svelte:228updateChat.svelte:1616updatescheduler.js:119flushscheduler.js:79promisecallback*schedule_updatescheduler.js:20make_dirtyComponent.js:81ctxComponent.js:139instance+layout.svelte:1275runutils.js:41mount_componentComponent.js:47flushscheduler.js:99promisecallback*schedule_updatescheduler.js:20make_dirtyComponent.js:81ctxComponent.js:139instance+layout.svelte:1250runutils.js:41mount_componentComponent.js:47flushscheduler.js:99initComponent.js:164Rootroot.svelte:1332createProxiedComponentsvelte-hooks.js:341ProxyComponentproxy.js:242Proxy<Root>proxy.js:349initializeclient.js:483navigateclient.js:1599startclient.js:330async*(index):130promisecallback*(index):129each.js:135:10flushscheduler.js:85(Async:promisecallback)schedule_updatescheduler.js:20make_dirtyComponent.js:81ctxComponent.js:139instance+layout.svelte:1275InterpretGeneratorResumeself-hosted:1332AsyncFunctionNextself-hosted:800(Async:async)runutils.js:41mapself-hosted:175mount_componentComponent.js:47flushscheduler.js:99(Async:promisecallback)schedule_updatescheduler.js:20make_dirtyComponent.js:81ctxComponent.js:139instance+layout.svelte:1250InterpretGeneratorResumeself-hosted:1332AsyncFunctionNextself-hosted:800(Async:async)runutils.js:41mapself-hosted:175mount_componentComponent.js:47flushscheduler.js:99initComponent.js:164Rootroot.svelte:1332createProxiedComponentsvelte-hooks.js:341ProxyComponentproxy.js:242Proxy<Root>proxy.js:349initializeclient.js:483navigateclient.js:1599InterpretGeneratorResumeself-hosted:1332AsyncFunctionNextself-hosted:800(Async:async)startclient.js:330InterpretGeneratorResumeself-hosted:1332AsyncFunctionNextself-hosted:800(Async:async)<anonymous>(index):130(Async:promisecallback)<anonymous>(index):129
Browser console error - [Admin → Settings → Model → Model Edit Page → Save & Create → New Chat → Select Model in Model Selector]:
This is a bug I've made known directly within the Open WebUI Discord server's contributors channel. I've decided to open up a bug report here on the repo for visibility, for community members to test these reported issues for reproduction, and to facilitate further collaboration.
Originally created by @silentoplayz on GitHub (Oct 24, 2025).
### Check Existing Issues
- [x] I have searched for any existing and/or related issues.
- [x] I have searched for any existing and/or related discussions.
- [x] I am using the latest version of Open WebUI.
### Installation Method
Docker
### Open WebUI Version
v0.6.34
### Ollama Version (if applicable)
v0.12.6
### Operating System
Ubuntu 24.04.3 LTS
### Browser (if applicable)
Mozilla Firefox Snap for Ubuntu - v144.0 (64-bit)
### 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 **provided every relevant configuration, setting, and environment variable used in my setup.**
- [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
- [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps:
- Start with the initial platform/version/OS and dependencies used,
- Specify exact install/launch/configure commands,
- List URLs visited, user input (incl. example values/emails/passwords if needed),
- Describe all options and toggles enabled or changed,
- Include any files or environmental changes,
- Identify the expected and actual result at each stage,
- Ensure any reasonably skilled user can follow and hit the same issue.
### Expected Behavior
I'm not 100% on what to expect here, but I do have some ideas/suggestions:
- Add validation check(s) in place to prevent duplicate default prompt suggestions from being created/saved in the UI, which causes unhandled exceptions and the web page to freeze up under certain conditions.
- After saving duplicate default prompt suggestions, the UI should either warn about duplicates or silently deduplicate them, then return to a responsive state.
These suggestions should keep the UI responsive, avoids data loss, and doesn’t punish the user with extra clicks.
### Actual Behavior
I am able to create and save multiple of the same (duplicate) prompt suggestions without warning.
The freeze is triggered either by:
* Opening the “New Chat” page (if duplicates were created in **Admin → Settings → Interface**), or
* Selecting a model in the model-selector (if duplicates were created in **Admin → Settings → Models → Edit → Default Prompt Suggestions**).
### Steps to Reproduce
1. Start with a clean Ubuntu 24.04.3 LTS install.
2. Install the latest version of Docker and start the service.
3. Run `docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://host.docker.internal:11434 --add-host=host.docker.internal:host-gateway --name open-webui ghcr.io/open-webui/open-webui:main`
4. Open your web browser and navigate to http://localhost:3000
5. Create first account (Superadmin)
6. Go to `Admin Panel` → `Settings` → `Interface`
7. Beneath the “Default Prompt Suggestions” section at the bottom of the page, create any two prompt suggestions that are exactly the same (exact duplicate)
<img width="2112" height="423" alt="Image" src="https://github.com/user-attachments/assets/43163c76-6d25-4ca3-b9c4-0f5aad0c9519" />
8. Click “New Chat” in the chat sidebar to return back to the landing page.
9. Observe the "New Chat" page itself simply grayed out. The rest of the UI becomes unresponsive (frozen); browser console shows a JS error.
10. Refresh the page; UI loads again, the issue is only triggered again. You will need to click on another chat in the chats sidebar and **THEN** refresh the page to break out of this loop (easy enough).
11. From another chat's page (after clicking on one in the chats sidebar and refreshing the page), you can go back in the `Interface` admin settings to remove the duplicate default prompt suggestion(s) to revert the change made to cause this issue.
### To reproduce the second bug:
1. `Admin Panel` → `Settings` → `Models` → Edit any model → `Default Prompt Suggestions` field; identical freeze occurs with a different JS error thrown in the browser's console. This could also be done with a custom `Workspace` model from a base model if desired to reproduce the 2nd issue this way.
<img width="2300" height="674" alt="Image" src="https://github.com/user-attachments/assets/0ddfc670-571d-49ea-bad6-1b46eec94a62" />
2. Select the model in the model dropdown of the `New Chat` page to trigger/reproduce this bug.
## TL;DR:
1. **Path A – Interface duplicates**
1.1 Admin Panel → Settings → Interface
1.2 “Default Prompt Suggestions” → add **two duplicate suggestions** (e.g. “Tell me a fun fact about Open WebUI.”) → Save.
1.3 Click “New Chat” → **page freezes** (console: `Cannot have duplicate keys in a keyed each`).
2. **Path B – Model duplicates**
2.1 Admin Panel → Settings → Models → Edit any model → “Default Prompt Suggestions” → add **two duplicate suggestions** → Save.
2.2 New Chat → select the edited model → **same freeze**.
### Logs & Screenshots
Primary browser console error - [`Admin Panel` → `Settings` → `Interface`→ `New Chat`]:
```js
[HMR][Svelte] Unrecoverable HMR error in <Suggestions>: next update will trigger a full reload <anonymous code>:1:147461
overrideMethod <anonymous code>:1
logError proxy.js:15
Proxy<Suggestions> proxy.js:380
create_key_block ChatPlaceholder.svelte:768
create_fragment ChatPlaceholder.svelte:1052
init Component.js:148
ChatPlaceholder ChatPlaceholder.svelte:1242
createProxiedComponent svelte-hooks.js:341
ProxyComponent proxy.js:242
Proxy<ChatPlaceholder> proxy.js:349
create_if_block Messages.svelte:150
create_fragment Messages.svelte:740
init Component.js:148
Messages Messages.svelte:1464
createProxiedComponent svelte-hooks.js:341
ProxyComponent proxy.js:242
Proxy<Messages> proxy.js:349
create_if_block_1 Chat.svelte:792
create_default_slot_1 Chat.svelte:1155
create_slot utils.js:165
create_fragment2 paneforge.js:1608
init Component.js:148
Pane paneforge.js:1917
create_default_slot Chat.svelte:1284
create_slot utils.js:165
create_fragment paneforge.js:1239
init Component.js:148
Pane_group paneforge.js:1524
create_if_block Chat.svelte:228
update Chat.svelte:1616
update scheduler.js:119
flush scheduler.js:79
(Async: promise callback)
schedule_update scheduler.js:20
make_dirty Component.js:81
ctx Component.js:139
instance +layout.svelte:1275
run utils.js:41
mount_component Component.js:47
flush scheduler.js:99
(Async: promise callback)
schedule_update scheduler.js:20
make_dirty Component.js:81
ctx Component.js:139
instance +layout.svelte:1250
run utils.js:41
mount_component Component.js:47
flush scheduler.js:99
init Component.js:164
Root root.svelte:1332
createProxiedComponent svelte-hooks.js:341
ProxyComponent proxy.js:242
Proxy<Root> proxy.js:349
initialize client.js:483
navigate client.js:1599
start client.js:330
<anonymous> (index):130
(Async: promise callback)
<anonymous> (index):129
```
Secondary browser console error - [`Admin Panel` → `Settings` → `Interface`→ `New Chat`]:
```js
Uncaught (in promise) Error: Cannot have duplicate keys in a keyed each: Keys at index 0 and 1 with value 'Tell me a fun fact about Open WebUI.' are duplicates
validate_each_keys each.js:135
create_if_block Suggestions.svelte:189
create_fragment Suggestions.svelte:85
init Component.js:148
Suggestions Suggestions.svelte:775
createProxiedComponent svelte-hooks.js:341
ProxyComponent proxy.js:242
Proxy<Suggestions> proxy.js:349
create_key_block ChatPlaceholder.svelte:768
create_fragment ChatPlaceholder.svelte:1052
init Component.js:148
ChatPlaceholder ChatPlaceholder.svelte:1242
createProxiedComponent svelte-hooks.js:341
ProxyComponent proxy.js:242
Proxy<ChatPlaceholder> proxy.js:349
create_if_block Messages.svelte:150
create_fragment Messages.svelte:740
init Component.js:148
Messages Messages.svelte:1464
createProxiedComponent svelte-hooks.js:341
ProxyComponent proxy.js:242
Proxy<Messages> proxy.js:349
create_if_block_1 Chat.svelte:792
create_default_slot_1 Chat.svelte:1155
create_slot utils.js:165
create_fragment2 paneforge.js:1608
init Component.js:148
Pane paneforge.js:1917
create_default_slot Chat.svelte:1284
create_slot utils.js:165
create_fragment paneforge.js:1239
init Component.js:148
Pane_group paneforge.js:1524
create_if_block Chat.svelte:228
update Chat.svelte:1616
update scheduler.js:119
flush scheduler.js:79
promise callback*schedule_update scheduler.js:20
make_dirty Component.js:81
ctx Component.js:139
instance +layout.svelte:1275
run utils.js:41
mount_component Component.js:47
flush scheduler.js:99
promise callback*schedule_update scheduler.js:20
make_dirty Component.js:81
ctx Component.js:139
instance +layout.svelte:1250
run utils.js:41
mount_component Component.js:47
flush scheduler.js:99
init Component.js:164
Root root.svelte:1332
createProxiedComponent svelte-hooks.js:341
ProxyComponent proxy.js:242
Proxy<Root> proxy.js:349
initialize client.js:483
navigate client.js:1599
start client.js:330
async* (index):130
promise callback* (index):129
each.js:135:10
flush scheduler.js:85
(Async: promise callback)
schedule_update scheduler.js:20
make_dirty Component.js:81
ctx Component.js:139
instance +layout.svelte:1275
InterpretGeneratorResume self-hosted:1332
AsyncFunctionNext self-hosted:800
(Async: async)
run utils.js:41
map self-hosted:175
mount_component Component.js:47
flush scheduler.js:99
(Async: promise callback)
schedule_update scheduler.js:20
make_dirty Component.js:81
ctx Component.js:139
instance +layout.svelte:1250
InterpretGeneratorResume self-hosted:1332
AsyncFunctionNext self-hosted:800
(Async: async)
run utils.js:41
map self-hosted:175
mount_component Component.js:47
flush scheduler.js:99
init Component.js:164
Root root.svelte:1332
createProxiedComponent svelte-hooks.js:341
ProxyComponent proxy.js:242
Proxy<Root> proxy.js:349
initialize client.js:483
navigate client.js:1599
InterpretGeneratorResume self-hosted:1332
AsyncFunctionNext self-hosted:800
(Async: async)
start client.js:330
InterpretGeneratorResume self-hosted:1332
AsyncFunctionNext self-hosted:800
(Async: async)
<anonymous> (index):130
(Async: promise callback)
<anonymous> (index):129
```
Browser console error - [`Admin` → `Settings` → `Model` → `Model Edit Page` → `Save & Create` → `New Chat` → `Select Model in Model Selector`]:
```js
Uncaught (in promise) Error: Cannot have duplicate keys in a keyed each: Keys at index 0 and 1 with value 'Duplicate Prompt Suggestions Test' are duplicates
validate_each_keys each.js:135
update Suggestions.svelte:235
update Suggestions.svelte:586
update scheduler.js:119
flush scheduler.js:79
promise callback*schedule_update scheduler.js:20
make_dirty Component.js:81
ctx Component.js:139
unsubscribe root.svelte:1156
promise callback*instance/</unsubscribe< root.svelte:34
subscribe utils.js:236
set index.js:56
update index.js:69
notify utils.js:221
flush scheduler.js:99
promise callback*schedule_update scheduler.js:20
make_dirty Component.js:81
ctx Component.js:139
$$set root.svelte:1250
get proxy.js:83
$set Component.js:507
key proxy.js:46
navigate client.js:1595
_start_router client.js:2383
_start_router client.js:2274
start client.js:339
async* models:130
promise callback* models:129
each.js:135:10
flush scheduler.js:85
(Async: promise callback)
schedule_update scheduler.js:20
make_dirty Component.js:81
ctx Component.js:139
unsubscribe root.svelte:1156
(Async: promise callback)
unsubscribe root.svelte:34
subscribe utils.js:236
set index.js:56
update index.js:69
notify utils.js:221
flush scheduler.js:99
(Async: promise callback)
schedule_update scheduler.js:20
make_dirty Component.js:81
ctx Component.js:139
$$set root.svelte:1250
get proxy.js:83
$set Component.js:507
key proxy.js:46
navigate client.js:1595
InterpretGeneratorResume self-hosted:1332
AsyncFunctionNext self-hosted:800
(Async: async)
_start_router client.js:2383
InterpretGeneratorResume self-hosted:1332
AsyncFunctionNext self-hosted:800
(Async: async)
_start_router client.js:2274
start client.js:339
InterpretGeneratorResume self-hosted:1332
AsyncFunctionNext self-hosted:800
(Async: async)
<anonymous> models:130
(Async: promise callback)
<anonymous> models:129
```
### Additional Information
- This is a bug I've made known directly within the Open WebUI Discord server's contributors channel. I've decided to open up a bug report here on the repo for visibility, for community members to test these reported issues for reproduction, and to facilitate further collaboration.
Can confirm, I can reproduce this in my side, latest dev branch in MacOS, Brave Browser.
@acomarcho commented on GitHub (Nov 1, 2025):
<img width="1917" height="1134" alt="Image" src="https://github.com/user-attachments/assets/b12c4b65-4e6a-4bd7-8371-df7f10b01e4d" />
Can confirm, I can reproduce this in my side, latest `dev` branch in MacOS, Brave Browser.
Ideally we'd probably want to generate an ID from the backend side, but it's probably overkill as there won't be much of this data anyways...
@acomarcho commented on GitHub (Nov 1, 2025):
Created a frontend-side fix here https://github.com/open-webui/open-webui/pull/18841 to generate unique keys by incorporating the index.
Ideally we'd probably want to generate an ID from the backend side, but it's probably overkill as there won't be much of this data anyways...
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 @silentoplayz on GitHub (Oct 24, 2025).
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.6.34
Ollama Version (if applicable)
v0.12.6
Operating System
Ubuntu 24.04.3 LTS
Browser (if applicable)
Mozilla Firefox Snap for Ubuntu - v144.0 (64-bit)
Confirmation
README.md.Expected Behavior
I'm not 100% on what to expect here, but I do have some ideas/suggestions:
These suggestions should keep the UI responsive, avoids data loss, and doesn’t punish the user with extra clicks.
Actual Behavior
I am able to create and save multiple of the same (duplicate) prompt suggestions without warning.
The freeze is triggered either by:
Steps to Reproduce
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://host.docker.internal:11434 --add-host=host.docker.internal:host-gateway --name open-webui ghcr.io/open-webui/open-webui:mainAdmin Panel→Settings→InterfaceInterfaceadmin settings to remove the duplicate default prompt suggestion(s) to revert the change made to cause this issue.To reproduce the second bug:
Admin Panel→Settings→Models→ Edit any model →Default Prompt Suggestionsfield; identical freeze occurs with a different JS error thrown in the browser's console. This could also be done with a customWorkspacemodel from a base model if desired to reproduce the 2nd issue this way.New Chatpage to trigger/reproduce this bug.TL;DR:
1.1 Admin Panel → Settings → Interface
1.2 “Default Prompt Suggestions” → add two duplicate suggestions (e.g. “Tell me a fun fact about Open WebUI.”) → Save.
1.3 Click “New Chat” → page freezes (console:
Cannot have duplicate keys in a keyed each).2.1 Admin Panel → Settings → Models → Edit any model → “Default Prompt Suggestions” → add two duplicate suggestions → Save.
2.2 New Chat → select the edited model → same freeze.
Logs & Screenshots
Primary browser console error - [
Admin Panel→Settings→Interface→New Chat]:Secondary browser console error - [
Admin Panel→Settings→Interface→New Chat]:Browser console error - [
Admin→Settings→Model→Model Edit Page→Save & Create→New Chat→Select Model in Model Selector]:Additional Information
@acomarcho commented on GitHub (Nov 1, 2025):
Can confirm, I can reproduce this in my side, latest
devbranch in MacOS, Brave Browser.@acomarcho commented on GitHub (Nov 1, 2025):
Created a frontend-side fix here https://github.com/open-webui/open-webui/pull/18841 to generate unique keys by incorporating the index.
Ideally we'd probably want to generate an ID from the backend side, but it's probably overkill as there won't be much of this data anyways...