I have searched for any existing and/or related issues.
I have searched for any existing and/or related discussions.
I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
I am using the latest version of Open WebUI.
Installation Method
Docker
Open WebUI Version
v0.9.12
Ollama Version (if applicable)
No response
Operating System
linux
Browser (if applicable)
No response
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
Admin should be able to disable the voice mode custom prompt UI toggle via env (e.g. ~ENABLE_VOICE_MODE_PROMPT)
Actual Behavior
Environment vars allow changing the prompt, but no way to disable the UI toggle. So users see mixed state after update/restart.
Setting voice mode prompt template variables to empty strings does not disable the voice mode constraints. Model always reports voice mode constraints from the default voice mode prompt when asked in voice mode with the prompt enabled.
Steps to Reproduce
Deploy Open WebUI (Docker)
Set VOICE_MODE_PROMPT_TEMPLATE: "" and DEFAULT_VOICE_MODE_PROMPT_TEMPLATE: ""
Go to Admin Settings > Interface > Voice Mode Custom Prompt
Disable the toggle
Restart container
Toggle is visually re-enabled
Model reports constraints from default voice mode prompt when asked
Logs & Screenshots
UI screenshot would just show toggle state after restart
when pressing save button:
2026-05-02 12:01:36.431 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - <ip-redacted>:0 - "GET /api/models HTTP/1.1" 200
2026-05-02 12:01:41.429 | INFO | open_webui.config:async_save:266 - Saving 'TASK_MODEL' to the database
2026-05-02 12:01:41.430 | INFO | open_webui.config:async_save:266 - Saving 'TASK_MODEL_EXTERNAL' to the database
2026-05-02 12:01:41.431 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_TITLE_GENERATION' to the database
2026-05-02 12:01:41.432 | INFO | open_webui.config:async_save:266 - Saving 'TITLE_GENERATION_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.433 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_FOLLOW_UP_GENERATION' to the database
2026-05-02 12:01:41.434 | INFO | open_webui.config:async_save:266 - Saving 'FOLLOW_UP_GENERATION_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.436 | INFO | open_webui.config:async_save:266 - Saving 'IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.436 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_AUTOCOMPLETE_GENERATION' to the database
2026-05-02 12:01:41.436 | INFO | open_webui.config:async_save:266 - Saving 'AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH' to the database
2026-05-02 12:01:41.437 | INFO | open_webui.config:async_save:266 - Saving 'TAGS_GENERATION_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.437 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_TAGS_GENERATION' to the database
2026-05-02 12:01:41.438 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_SEARCH_QUERY_GENERATION' to the database
2026-05-02 12:01:41.438 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_RETRIEVAL_QUERY_GENERATION' to the database
2026-05-02 12:01:41.438 | INFO | open_webui.config:async_save:266 - Saving 'QUERY_GENERATION_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.439 | INFO | open_webui.config:async_save:266 - Saving 'TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.439 | INFO | open_webui.config:async_save:266 - Saving 'VOICE_MODE_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.439 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - <ip-redacted>:0 - "POST /api/v1/tasks/config/update HTTP/1.1" 200
see the ENABLE_ vars for the other switches, but none for voice mode prompt
default voice prompt conflicts/duplicates heavily with my existing system prompts
Originally created by @Soakedcardinal on GitHub (May 2, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/24315
### 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 have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
- [x] I am using the latest version of Open WebUI.
### Installation Method
Docker
### Open WebUI Version
v0.9.12
### Ollama Version (if applicable)
_No response_
### Operating System
linux
### Browser (if applicable)
_No response_
### 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
Admin should be able to disable the voice mode custom prompt UI toggle via env (e.g. ~`ENABLE_VOICE_MODE_PROMPT`)
### Actual Behavior
Environment vars allow changing the prompt, but no way to disable the UI toggle. So users see mixed state after update/restart.
Setting voice mode prompt template variables to empty strings does not disable the voice mode constraints. Model always reports voice mode constraints from the default voice mode prompt when asked in voice mode with the prompt enabled.
### Steps to Reproduce
1. Deploy Open WebUI (Docker)
2. Set `VOICE_MODE_PROMPT_TEMPLATE: ""` and `DEFAULT_VOICE_MODE_PROMPT_TEMPLATE: ""`
3. Go to Admin Settings > Interface > Voice Mode Custom Prompt
4. Disable the toggle
5. Restart container
6. Toggle is visually re-enabled
7. Model reports constraints from default voice mode prompt when asked
### Logs & Screenshots
UI screenshot would just show toggle state after restart
when pressing save button:
```
2026-05-02 12:01:36.431 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - <ip-redacted>:0 - "GET /api/models HTTP/1.1" 200
2026-05-02 12:01:41.429 | INFO | open_webui.config:async_save:266 - Saving 'TASK_MODEL' to the database
2026-05-02 12:01:41.430 | INFO | open_webui.config:async_save:266 - Saving 'TASK_MODEL_EXTERNAL' to the database
2026-05-02 12:01:41.431 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_TITLE_GENERATION' to the database
2026-05-02 12:01:41.432 | INFO | open_webui.config:async_save:266 - Saving 'TITLE_GENERATION_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.433 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_FOLLOW_UP_GENERATION' to the database
2026-05-02 12:01:41.434 | INFO | open_webui.config:async_save:266 - Saving 'FOLLOW_UP_GENERATION_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.436 | INFO | open_webui.config:async_save:266 - Saving 'IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.436 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_AUTOCOMPLETE_GENERATION' to the database
2026-05-02 12:01:41.436 | INFO | open_webui.config:async_save:266 - Saving 'AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH' to the database
2026-05-02 12:01:41.437 | INFO | open_webui.config:async_save:266 - Saving 'TAGS_GENERATION_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.437 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_TAGS_GENERATION' to the database
2026-05-02 12:01:41.438 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_SEARCH_QUERY_GENERATION' to the database
2026-05-02 12:01:41.438 | INFO | open_webui.config:async_save:266 - Saving 'ENABLE_RETRIEVAL_QUERY_GENERATION' to the database
2026-05-02 12:01:41.438 | INFO | open_webui.config:async_save:266 - Saving 'QUERY_GENERATION_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.439 | INFO | open_webui.config:async_save:266 - Saving 'TOOLS_FUNCTION_CALLING_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.439 | INFO | open_webui.config:async_save:266 - Saving 'VOICE_MODE_PROMPT_TEMPLATE' to the database
2026-05-02 12:01:41.439 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - <ip-redacted>:0 - "POST /api/v1/tasks/config/update HTTP/1.1" 200
```
see the `ENABLE_` vars for the other switches, but none for voice mode prompt
```
docker exec -it <owui-container-name> printenv | grep VOICE_MODE
VOICE_MODE_PROMPT_TEMPLATE=
DEFAULT_VOICE_MODE_PROMPT_TEMPLATE=
```
### Additional Information
default voice prompt conflicts/duplicates heavily with my existing system prompts
GiteaMirror
added the bug label 2026-05-15 16:17:12 -05:00
@pr-validator-bot commented on GitHub (May 2, 2026):
⚠️ Missing Issue Title Prefix
@Soakedcardinal, your issue title is missing a prefix (e.g., bug:, feat:, docs:).
Please update your issue title to include one of the following prefixes:
bug: Bug report or error you've encountered
feat: Feature request or enhancement suggestion
docs: Documentation issue or improvement request
question: Question about usage or functionality
help: Request for help or support
Example: bug: Login fails when using special characters in password
<!-- gh-comment-id:4364225767 -->
@pr-validator-bot commented on GitHub (May 2, 2026):
# ⚠️ Missing Issue Title Prefix
@Soakedcardinal, your issue title is missing a prefix (e.g., `bug:`, `feat:`, `docs:`).
Please update your issue title to include one of the following prefixes:
- **bug**: Bug report or error you've encountered
- **feat**: Feature request or enhancement suggestion
- **docs**: Documentation issue or improvement request
- **question**: Question about usage or functionality
- **help**: Request for help or support
Example: `bug: Login fails when using special characters in password`
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 @Soakedcardinal on GitHub (May 2, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/24315
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.9.12
Ollama Version (if applicable)
No response
Operating System
linux
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
Admin should be able to disable the voice mode custom prompt UI toggle via env (e.g. ~
ENABLE_VOICE_MODE_PROMPT)Actual Behavior
Environment vars allow changing the prompt, but no way to disable the UI toggle. So users see mixed state after update/restart.
Setting voice mode prompt template variables to empty strings does not disable the voice mode constraints. Model always reports voice mode constraints from the default voice mode prompt when asked in voice mode with the prompt enabled.
Steps to Reproduce
VOICE_MODE_PROMPT_TEMPLATE: ""andDEFAULT_VOICE_MODE_PROMPT_TEMPLATE: ""Logs & Screenshots
UI screenshot would just show toggle state after restart
when pressing save button:
see the
ENABLE_vars for the other switches, but none for voice mode promptAdditional Information
default voice prompt conflicts/duplicates heavily with my existing system prompts
@pr-validator-bot commented on GitHub (May 2, 2026):
⚠️ Missing Issue Title Prefix
@Soakedcardinal, your issue title is missing a prefix (e.g.,
bug:,feat:,docs:).Please update your issue title to include one of the following prefixes:
Example:
bug: Login fails when using special characters in password@tjbck commented on GitHub (May 8, 2026):
Addressed in dev to introduce a dedicated toggle.