openclaw - 💡(How to fix) Fix [Bug]: Control UI duplicates inbound messages in webchat sessions — sender mismatch bypasses dedup cache [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#72892Fetched 2026-04-28 06:30:44
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
1
Author
Participants
Timeline (top)
labeled ×2

When using the Control UI webchat interface, every user message is injected into the agent session twice — once as the direct webchat sender ("you") and once as "openclaw-control-ui". The agent responds to both, causing duplicate replies.

Root Cause

When using the Control UI webchat interface, every user message is injected into the agent session twice — once as the direct webchat sender ("you") and once as "openclaw-control-ui". The agent responds to both, causing duplicate replies.

RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

When using the Control UI webchat interface, every user message is injected into the agent session twice — once as the direct webchat sender ("you") and once as "openclaw-control-ui". The agent responds to both, causing duplicate replies.

Steps to reproduce

Start gateway with Control UI enabled (openclaw gateway start) Open Control UI webchat in browser Send any message to the agent Observe that the message appears in the session transcript with two different sender identities

Expected behavior

Each user message should trigger exactly one agent run. The Control UI should not re-inject messages through a secondary sender identity.

Actual behavior

Each user message arrives in the session twice:

Sender: webchat direct ("you") Sender: "openclaw-control-ui" (Control UI bridge relay) Both have different message IDs, so the inbound deduplication cache (keyed by channel/account/peer/session/message id) cannot match them. The agent processes both as separate turns and replies twice.

OpenClaw version

v2026.4.24

Operating system

ubuntu20.04(WSL)

Install method

npm

Model

deepseek v4 pro

Provider / routing chain

openclaw to DeepSeek (deepseek-v4-pro),no proxy

Additional provider/model setup details

The Control UI web interface appears to forward each message through two paths into the same session — the standard webchat channel path and an additional openclaw-control-ui bridge. The source code defines a separate sender constant (CONTROL_UI: "openclaw-control-ui" in message-channel-*.js), but the webchat flow shouldn't be using both sender identities for the same message.

Single session verified via sessions_list, no duplicate bindings Gateway config at ~/.openclaw/openclaw.json — controlUi block has no options related to message routing Docs reference: Inbound dedupe caches by channel/account/peer/session/message id

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

extent analysis

TL;DR

The most likely fix is to modify the Control UI webchat interface to use a single sender identity for each user message, preventing duplicate injections into the agent session.

Guidance

  • Review the message-channel-*.js source code to understand how the CONTROL_UI sender constant is used and why it's causing duplicate messages.
  • Investigate the webchat flow to determine why both the standard webchat channel path and the openclaw-control-ui bridge are being used for the same message.
  • Consider modifying the gateway configuration at ~/.openclaw/openclaw.json to add options related to message routing for the Control UI, if possible.
  • Verify that the inbound deduplication cache is correctly configured and functioning as expected, using the documentation at https://docs.openclaw.ai/concepts/messages#inbound-dedupe as a reference.

Example

No code snippet is provided as the issue does not contain sufficient information to create a specific example.

Notes

The root cause of the issue appears to be related to the Control UI webchat interface and its interaction with the agent session, but further investigation is needed to determine the exact cause and implement a fix.

Recommendation

Apply a workaround by modifying the Control UI webchat interface to use a single sender identity for each user message, as this is the most likely solution based on the provided information.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Each user message should trigger exactly one agent run. The Control UI should not re-inject messages through a secondary sender identity.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Bug]: Control UI duplicates inbound messages in webchat sessions — sender mismatch bypasses dedup cache [1 participants]