6adde20 Merge pull request #20394 from open-webui/dev
f9b0534 Merge pull request #20522 from open-webui/dev
📊 Changes
1 file changed (+13 additions, -3 deletions)
View changed files
📝backend/open_webui/utils/middleware.py (+13 -3)
📄 Description
Summary
Skip memory-context system-message injection when no system prompt is configured.
Prevent empty `User Context:
` system messages from being appended.
Why
When the system prompt is intentionally blank, middleware still appended a system message via memory handling. This caused unintended prompt injection and unnecessary context artifacts.
Changes
In chat_memory_handler (backend/open_webui/utils/middleware.py):
Return early if current system prompt is blank.
Append User Context only when memory query produced non-empty context.
Changelog Entry
Description
Fixes an edge case where memory middleware injected an empty User Context system message even when no system prompt was configured.
Added
None.
Changed
chat_memory_handler now skips memory-context system-message injection when the system prompt is blank.
Deprecated
None.
Removed
None.
Fixed
Prevents empty `User Context:
` system-message injection.
Security
None.
Breaking Changes
BREAKING CHANGE: None.
Additional Information
Scope intentionally limited to backend/open_webui/utils/middleware.py.
Screenshots or Videos
N/A (backend-only change).
Testing
✅ I personally tested the change locally.
✅ Verified no User Context system message is appended when system prompt is empty.
✅ Verified User Context is appended when system prompt is set and memory returns results.
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
Note
Deleting the CLA section will lead to immediate closure of your PR and it will not be merged in.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/open-webui/open-webui/pull/21584
**Author:** [@lesj0610](https://github.com/lesj0610)
**Created:** 2/19/2026
**Status:** ❌ Closed
**Base:** `dev` ← **Head:** `fix/memory-context-system-prompt-gate`
---
### 📝 Commits (10+)
- [`fe6783c`](https://github.com/open-webui/open-webui/commit/fe6783c16699911c7be17392596d579333fb110c) Merge pull request #19030 from open-webui/dev
- [`fc05e0a`](https://github.com/open-webui/open-webui/commit/fc05e0a6c5d39da60b603b4d520f800d6e36f748) Merge pull request #19405 from open-webui/dev
- [`e3faec6`](https://github.com/open-webui/open-webui/commit/e3faec62c58e3a83d89aa3df539feacefa125e0c) Merge pull request #19416 from open-webui/dev
- [`9899293`](https://github.com/open-webui/open-webui/commit/9899293f050ad50ae12024cbebee7e018acd851e) Merge pull request #19448 from open-webui/dev
- [`140605e`](https://github.com/open-webui/open-webui/commit/140605e660b8186a7d5c79fb3be6ffb147a2f498) Merge pull request #19462 from open-webui/dev
- [`6f1486f`](https://github.com/open-webui/open-webui/commit/6f1486ffd0cb288d0e21f41845361924e0d742b3) Merge pull request #19466 from open-webui/dev
- [`d95f533`](https://github.com/open-webui/open-webui/commit/d95f533214e3fe5beb5e41ec1f349940bc4c7043) Merge pull request #19729 from open-webui/dev
- [`a727153`](https://github.com/open-webui/open-webui/commit/a7271532f8a38da46785afcaa7e65f9a45e7d753) 0.6.43 (#20093)
- [`6adde20`](https://github.com/open-webui/open-webui/commit/6adde203cd292a9e3af9c64a2ae36b603fed096a) Merge pull request #20394 from open-webui/dev
- [`f9b0534`](https://github.com/open-webui/open-webui/commit/f9b0534e0c442631d1cb7205169588b9b6204179) Merge pull request #20522 from open-webui/dev
### 📊 Changes
**1 file changed** (+13 additions, -3 deletions)
<details>
<summary>View changed files</summary>
📝 `backend/open_webui/utils/middleware.py` (+13 -3)
</details>
### 📄 Description
## Summary
- Skip memory-context system-message injection when no system prompt is configured.
- Prevent empty `User Context:
` system messages from being appended.
## Why
When the system prompt is intentionally blank, middleware still appended a system message via memory handling. This caused unintended prompt injection and unnecessary context artifacts.
## Changes
- In `chat_memory_handler` (`backend/open_webui/utils/middleware.py`):
- Return early if current system prompt is blank.
- Append `User Context` only when memory query produced non-empty context.
# Changelog Entry
### Description
- Fixes an edge case where memory middleware injected an empty `User Context` system message even when no system prompt was configured.
### Added
- None.
### Changed
- `chat_memory_handler` now skips memory-context system-message injection when the system prompt is blank.
### Deprecated
- None.
### Removed
- None.
### Fixed
- Prevents empty `User Context:
` system-message injection.
### Security
- None.
### Breaking Changes
- **BREAKING CHANGE**: None.
---
### Additional Information
- Scope intentionally limited to `backend/open_webui/utils/middleware.py`.
### Screenshots or Videos
- N/A (backend-only change).
## Testing
- ✅ I personally tested the change locally.
- ✅ Verified no `User Context` system message is appended when system prompt is empty.
- ✅ Verified `User Context` is appended when system prompt is set and memory returns results.
- ✅ `python3 -m compileall backend/open_webui/utils/middleware.py`
### Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms.
> [!NOTE]
> Deleting the CLA section will lead to immediate closure of your PR and it will not be merged in.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
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.
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/21584
Author: @lesj0610
Created: 2/19/2026
Status: ❌ Closed
Base:
dev← Head:fix/memory-context-system-prompt-gate📝 Commits (10+)
fe6783cMerge pull request #19030 from open-webui/devfc05e0aMerge pull request #19405 from open-webui/deve3faec6Merge pull request #19416 from open-webui/dev9899293Merge pull request #19448 from open-webui/dev140605eMerge pull request #19462 from open-webui/dev6f1486fMerge pull request #19466 from open-webui/devd95f533Merge pull request #19729 from open-webui/deva7271530.6.43 (#20093)6adde20Merge pull request #20394 from open-webui/devf9b0534Merge pull request #20522 from open-webui/dev📊 Changes
1 file changed (+13 additions, -3 deletions)
View changed files
📝
backend/open_webui/utils/middleware.py(+13 -3)📄 Description
Summary
` system messages from being appended.
Why
When the system prompt is intentionally blank, middleware still appended a system message via memory handling. This caused unintended prompt injection and unnecessary context artifacts.
Changes
chat_memory_handler(backend/open_webui/utils/middleware.py):User Contextonly when memory query produced non-empty context.Changelog Entry
Description
User Contextsystem message even when no system prompt was configured.Added
Changed
chat_memory_handlernow skips memory-context system-message injection when the system prompt is blank.Deprecated
Removed
Fixed
` system-message injection.
Security
Breaking Changes
Additional Information
backend/open_webui/utils/middleware.py.Screenshots or Videos
Testing
User Contextsystem message is appended when system prompt is empty.User Contextis appended when system prompt is set and memory returns results.python3 -m compileall backend/open_webui/utils/middleware.pyContributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.