I have searched the existing issues and discussions.
Problem Description
Hi team! My name is C. Alejandra Carreon, https://ale-leehrtz.org. I’m self-hosting Open WebUI and I’d love to contribute back to the project.
I’d like to expose a public demo of Open WebUI on my website so users can try some models I'm currently fine-tunning with Open-WebUI interface without registering. However, Open WebUI currently requires users to sign up and creates a full user account for each visitor, which is unnecessary and potentially problematic for an open demo.
Without a demo mode, either:
I expose my full backend, credentials, etc to anonymous users, or
I need to build a separate proxy or middleware, which duplicates logic and reduces the value of the WebUI itself.
Desired Solution you'd like
I’d like to propose adding a built-in “Demo Mode” to Open WebUI, with these characteristics:
A “Demo” button on the login page.
Allows anonymous access, without requiring signup or password.
Creates (or reuses) a special demo user account behind the scenes (cannot retrieve past convs. and other expectable setups for this specific use-case).
Limitations in demo mode:
Only one chat session allowed.
Maximum of n messages per user/session, defined by admin.
UI hides features like “New Chat” or advanced tools.
Optional “Demo Mode” watermark visible to users.
Any other limitation regarding this hypothetic functionality you, as a team, would like me to take into consideration.
Ideally, the mode should be configurable via environment variables (e.g. DEMO_MODE=true) so each deployer can choose whether to enable it.
Alternatives Considered
Building external middleware or proxy:
I considered creating a separate proxy that manages anonymous requests and forwards them to the WebUI. However, this defeats the purpose of Open WebUI’s own user management and increases complexity unnecessarily.
Sharing a public demo account:
While possible, it exposes credentials publicly and could be abused or modified by users, since they’d share the same account and state.
Hence, integrating a native demo mode directly into Open WebUI is safer and more maintainable.
Additional Context
I’m already running Open WebUI successfully on my server and have experience modifying both backend (Flask/Python) and frontend (Svelte).
I’d be happy to implement this feature myself as a contribution and submit a PR. Let me know if there are preferred conventions or any objections before I proceed.
Thanks for building such an awesome project!
Originally created by @AleLeeHrtz on GitHub (Jul 1, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/15456
### Check Existing Issues
- [x] I have searched the existing issues and discussions.
### Problem Description
Hi team! My name is C. Alejandra Carreon, https://ale-leehrtz.org. I’m self-hosting Open WebUI and I’d love to contribute back to the project.
I’d like to expose a public demo of Open WebUI on my website so users can try some models I'm currently fine-tunning with Open-WebUI interface without registering. However, Open WebUI currently requires users to sign up and creates a full user account for each visitor, which is unnecessary and potentially problematic for an open demo.
Without a demo mode, either:
I expose my full backend, credentials, etc to anonymous users, or
I need to build a separate proxy or middleware, which duplicates logic and reduces the value of the WebUI itself.
### Desired Solution you'd like
I’d like to propose adding a built-in “Demo Mode” to Open WebUI, with these characteristics:
A “Demo” button on the login page.
Allows anonymous access, without requiring signup or password.
Creates (or reuses) a special demo user account behind the scenes (cannot retrieve past convs. and other expectable setups for this specific use-case).
Limitations in demo mode:
Only one chat session allowed.
Maximum of n messages per user/session, defined by admin.
UI hides features like “New Chat” or advanced tools.
Optional “Demo Mode” watermark visible to users.
Any other limitation regarding this hypothetic functionality you, as a team, would like me to take into consideration.
Ideally, the mode should be configurable via environment variables (e.g. DEMO_MODE=true) so each deployer can choose whether to enable it.
### Alternatives Considered
Building external middleware or proxy:
I considered creating a separate proxy that manages anonymous requests and forwards them to the WebUI. However, this defeats the purpose of Open WebUI’s own user management and increases complexity unnecessarily.
Sharing a public demo account:
While possible, it exposes credentials publicly and could be abused or modified by users, since they’d share the same account and state.
Hence, integrating a native demo mode directly into Open WebUI is safer and more maintainable.
### Additional Context
I’m already running Open WebUI successfully on my server and have experience modifying both backend (Flask/Python) and frontend (Svelte).
I’d be happy to implement this feature myself as a contribution and submit a PR. Let me know if there are preferred conventions or any objections before I proceed.
Thanks for building such an awesome project!
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 @AleLeeHrtz on GitHub (Jul 1, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/15456
Check Existing Issues
Problem Description
Hi team! My name is C. Alejandra Carreon, https://ale-leehrtz.org. I’m self-hosting Open WebUI and I’d love to contribute back to the project.
I’d like to expose a public demo of Open WebUI on my website so users can try some models I'm currently fine-tunning with Open-WebUI interface without registering. However, Open WebUI currently requires users to sign up and creates a full user account for each visitor, which is unnecessary and potentially problematic for an open demo.
Without a demo mode, either:
Desired Solution you'd like
I’d like to propose adding a built-in “Demo Mode” to Open WebUI, with these characteristics:
Ideally, the mode should be configurable via environment variables (e.g. DEMO_MODE=true) so each deployer can choose whether to enable it.
Alternatives Considered
Hence, integrating a native demo mode directly into Open WebUI is safer and more maintainable.
Additional Context
I’m already running Open WebUI successfully on my server and have experience modifying both backend (Flask/Python) and frontend (Svelte).
I’d be happy to implement this feature myself as a contribution and submit a PR. Let me know if there are preferred conventions or any objections before I proceed.
Thanks for building such an awesome project!