[GH-ISSUE #17447] Prompt “Input Variables” modal forces every field to be required #33820

Closed
opened 2026-04-25 07:42:39 -05:00 by GiteaMirror · 3 comments
Owner

Originally created by @spencerthayer on GitHub (Sep 14, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/17447

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

Open WebUI ‧ v0.6.28

Ollama Version (if applicable)

NA

Operating System

Ubuntu 22.04

Browser (if applicable)

Chrome, Safari, Fire Fox, all of them.

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 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

Variables in Prompt “Input Variables” modal should be optional by default unless explicitly marked required, or there should be a way to declare required=false in the typed input syntax. The official docs for Prompts and variable types do not mention any required property, so creators reasonably expect that leaving fields blank is supported.

  • The Prompts documentation defines input types and properties but does not document any required property. Authors cannot declare a field optional or required. The current behavior forces every variable to be required and contradicts the mental model established by the docs.
  • The native validation prevents legitimate workflows where optional metadata is useful, for example social image, context notes, and word counts that may be omitted.
  • A similar area of the product, the prompts modal itself, recently had a regression and fix. This suggests the modal code is an active area and that a simple attribute default may be incorrect.

Proposed Solutions

Any of the following would resolve the issue:

  1. Add a typed-input property to control required status like {{topic | text:placeholder="...", required=false}}

  2. Make fields optional by default and allow required=true where authors need it.

  3. Remove the required attribute from the generated inputs and let creators enforce required logic inside the prompt text, or via a future validation layer.

Actual Behavior

The “Input Variables” modal enforces native HTML5 validation on all fields. Attempting to save with any empty field triggers the browser tooltip “Please fill out this field.” This occurs for text, textarea, email, url, and other inputs. Supplying default="" or even a zero-width space does not bypass validation. Select fields also require a non-empty selection. The UI indicates the required status visually on several fields. See attached screenshot showing the tooltip and “*required” indicators.

No console errors are thrown at submit time because the block happens at the browser validation level before the form submits.

Steps to Reproduce

  1. Start Open WebUI v0.6.28 using Docker Compose
  2. Go to Workspace → Prompts → New Prompt.
  3. Use this minimal prompt content:

Command: /optional_test

Please echo the values below. If any are empty, just omit the line.

Topic: {{topic | text:placeholder="e.g., New feature launch"}}
Notes: {{notes | textarea:placeholder="Optional notes"}}
Category: {{category | select:options=["","analysis","theory"], default=""}}
Count: {{count | number:placeholder="Optional number"}}
  1. In a new chat, type /optional_test and trigger the prompt.
  2. Try to click Save without entering any values.

Result: The modal blocks submission with the native tooltip “Please fill out this field.” The select cannot be left blank unless a visible non-empty option is chosen. The number input cannot be left blank. Replacing number with text still blocks because the field is marked required by the modal. Setting default="​" (zero-width space) does not change the behavior.

Logs & Screenshots

  • Browser console: No errors at submit time. The Save action is intercepted by native HTML5 required validation before any JS handler runs.
  • Docker logs: No related entries when clicking Save.

Additional Information

NA

Originally created by @spencerthayer on GitHub (Sep 14, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/17447 ### 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 Open WebUI ‧ v0.6.28 ### Ollama Version (if applicable) NA ### Operating System Ubuntu 22.04 ### Browser (if applicable) Chrome, Safari, Fire Fox, all of them. ### 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 **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 Variables in Prompt “Input Variables” modal should be optional by default unless explicitly marked required, or there should be a way to declare `required=false` in the typed input syntax. The official docs for Prompts and variable types do not mention any `required` property, so creators reasonably expect that leaving fields blank is supported. * The Prompts documentation defines input types and properties but does not document any `required` property. Authors cannot declare a field optional or required. The current behavior forces every variable to be required and contradicts the mental model established by the docs. * The native validation prevents legitimate workflows where optional metadata is useful, for example social image, context notes, and word counts that may be omitted. * A similar area of the product, the prompts modal itself, recently had a regression and fix. This suggests the modal code is an active area and that a simple attribute default may be incorrect. **Proposed Solutions** Any of the following would resolve the issue: 1. Add a typed-input property to control required status like `{{topic | text:placeholder="...", required=false}}` 2. Make fields optional by default and allow `required=true` where authors need it. 3. Remove the `required` attribute from the generated inputs and let creators enforce required logic inside the prompt text, or via a future validation layer. ### Actual Behavior The “Input Variables” modal enforces native HTML5 validation on all fields. Attempting to save with any empty field triggers the browser tooltip “Please fill out this field.” This occurs for `text`, `textarea`, `email`, `url`, and other inputs. Supplying `default=""` or even a zero-width space does not bypass validation. Select fields also require a non-empty selection. The UI indicates the required status visually on several fields. See attached screenshot showing the tooltip and “\*required” indicators. No console errors are thrown at submit time because the block happens at the browser validation level before the form submits. ### Steps to Reproduce 1. Start Open WebUI v0.6.28 using Docker Compose 2. Go to Workspace → Prompts → New Prompt. 3. Use this minimal prompt content: Command: `/optional_test` Please echo the values below. If any are empty, just omit the line. ``` Topic: {{topic | text:placeholder="e.g., New feature launch"}} Notes: {{notes | textarea:placeholder="Optional notes"}} Category: {{category | select:options=["","analysis","theory"], default=""}} Count: {{count | number:placeholder="Optional number"}} ``` 4. In a new chat, type `/optional_test` and trigger the prompt. 5. Try to click Save without entering any values. **Result**: The modal blocks submission with the native tooltip “Please fill out this field.” The select cannot be left blank unless a visible non-empty option is chosen. The number input cannot be left blank. Replacing `number` with `text` still blocks because the field is marked required by the modal. Setting `default="​"` (zero-width space) does not change the behavior. ### Logs & Screenshots * **Browser console**: No errors at submit time. The Save action is intercepted by native HTML5 required validation before any JS handler runs. * **Docker logs**: No related entries when clicking Save. ### Additional Information NA
GiteaMirror added the bug label 2026-04-25 07:42:39 -05:00
Author
Owner

@spencerthayer commented on GitHub (Sep 14, 2025):

If this isn't a bug, and this is intentional, then I would please request that the official prompt documentation be updated to include this.

<!-- gh-comment-id:3289874333 --> @spencerthayer commented on GitHub (Sep 14, 2025): If this isn't a bug, and this is intentional, then I would please request that the official [prompt documentation](https://raw.githubusercontent.com/open-webui/docs/refs/heads/main/docs/features/workspace/prompts.md) be updated to include this.
Author
Owner

@rgaricano commented on GitHub (Sep 15, 2025):

Yes, required should be author setted mandatory,
maybe changing required by required={variables[variable]?.required ?? true} in all var input fields of https://github.com/open-webui/open-webui/blob/main/src/lib/components/chat/MessageInput/InputVariablesModal.svelte ?

<!-- gh-comment-id:3291215909 --> @rgaricano commented on GitHub (Sep 15, 2025): Yes, required should be author setted mandatory, maybe changing `required` by `required={variables[variable]?.required ?? true}` in all var input fields of https://github.com/open-webui/open-webui/blob/main/src/lib/components/chat/MessageInput/InputVariablesModal.svelte ?
Author
Owner

@tjbck commented on GitHub (Sep 15, 2025):

Addressed with d5824b1b495fcf86e57171769bcec2a0f698b070!

<!-- gh-comment-id:3292964089 --> @tjbck commented on GitHub (Sep 15, 2025): Addressed with d5824b1b495fcf86e57171769bcec2a0f698b070!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#33820