openclaw - 💡(How to fix) Fix [Bug]: Control UI / WebChat duplicates one user message into two transcript user messages and two assistant replies [1 comments, 2 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#72242Fetched 2026-04-27 05:32:42
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Timeline (top)
closed ×1commented ×1labeled ×1

Control UI / WebChat duplicates a single user input into two user messages in the server-side session transcript, and the assistant replies twice.

This is not just a UI rendering duplicate. The duplicate messages are written into the .jsonl session transcript on disk.

Root Cause

This still reproduces in Chrome Incognito with a fresh session. It does not appear to be caused by browser cache, normal browser extensions, multiple Gateway processes, configured external channels, or an interactive CLI process running beside the Gateway.

Fix Action

Fix / Workaround

Please advise whether this is a known Control UI / WebChat duplicate-send bug, and whether there is a config workaround or a fixed release/channel to test.

Code Example

/srv/openclaw/npm/global/bin/openclaw gateway run --bind loopback --auth token --port 18789

---

127.0.0.1:18789
[::1]:18789

---

Windows Chrome Incognito
-> SSH local port forwarding
-> http://127.0.0.1:18789

---

none configured

---

openai
google
anthropic
memory-core

---

/srv/openclaw/state/agents/main/sessions/5e67464b-3df4-451a-b1ae-b0d5861c1707.jsonl
/srv/openclaw/state/agents/main/sessions/5e67464b-3df4-451a-b1ae-b0d5861c1707.trajectory.jsonl

---

trajectory.jsonl: 4 hits
normal session .jsonl: 4 hits

---

line 5: user message with Sender metadata wrapper:
        Sender (untrusted metadata): openclaw-control-ui ... duplicate-test-001

line 6: assistant reply

line 7: raw user message:
        [Sun 2026-04-26 14:47 UTC] duplicate-test-001

line 8: assistant reply

---

127.0.0.1:18789
[::1]:18789

---

openclaw
openclaw-gateway

---

ExecStart=/srv/openclaw/npm/global/bin/openclaw gateway run --bind loopback --auth token --port 18789

---

Config path not found: channels

---

openai
google
anthropic
memory-core

---
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Summary

Control UI / WebChat duplicates a single user input into two user messages in the server-side session transcript, and the assistant replies twice.

This is not just a UI rendering duplicate. The duplicate messages are written into the .jsonl session transcript on disk.

Environment

OpenClaw version: OpenClaw 2026.4.24 (cbcfdf6)

OS: Ubuntu Server 24.04 LTS, no GUI

Runtime: Node.js v24.15.0

Install type: native npm install, systemd user service

Gateway service: openclaw-gateway.service

Gateway command:

/srv/openclaw/npm/global/bin/openclaw gateway run --bind loopback --auth token --port 18789

Gateway bind:

127.0.0.1:18789
[::1]:18789

Access path:

Windows Chrome Incognito
-> SSH local port forwarding
-> http://127.0.0.1:18789

Channels:

none configured

Plugins configured:

openai
google
anthropic
memory-core

There is no openclaw chat or interactive foreground process running. The process list only shows openclaw and openclaw-gateway. The systemd unit confirms the Gateway is started with openclaw gateway run --bind loopback --auth token --port 18789.

Expected behavior

When I send one WebChat message, the server-side session transcript should contain one user message and one assistant reply.

Actual behavior

When I send one WebChat message, the Control UI displays two identical user messages and two identical assistant replies.

The server-side transcript also contains two user messages and two assistant replies, so this is not only a front-end rendering issue.

Reproduction steps

  1. Start OpenClaw Gateway as a systemd user service.

  2. On Windows, open an SSH tunnel to the Ubuntu Gateway host:

    ssh -N -L 127.0.0.1:18789:127.0.0.1:18789 USER@UBUNTU_HOST

  3. Open Chrome Incognito.

  4. Navigate to a fresh WebChat session:

    http://127.0.0.1:18789/chat?session=agent%3Amain%3Adup-test

  5. Send exactly one message:

    duplicate-test-001

  6. The UI shows two identical user messages and two identical assistant replies.

  7. The server transcript confirms that the duplicate was written to disk.

Evidence

The test string appears in both the normal session JSONL and trajectory JSONL:

/srv/openclaw/state/agents/main/sessions/5e67464b-3df4-451a-b1ae-b0d5861c1707.jsonl
/srv/openclaw/state/agents/main/sessions/5e67464b-3df4-451a-b1ae-b0d5861c1707.trajectory.jsonl

Command output showed:

trajectory.jsonl: 4 hits
normal session .jsonl: 4 hits

The normal .jsonl file contains:

line 5: user message with Sender metadata wrapper:
        Sender (untrusted metadata): openclaw-control-ui ... duplicate-test-001

line 6: assistant reply

line 7: raw user message:
        [Sun 2026-04-26 14:47 UTC] duplicate-test-001

line 8: assistant reply

So one WebChat input appears to be inserted twice:

  1. once as a wrapped message with Sender metadata from openclaw-control-ui
  2. once as the raw user text

Both messages then receive assistant replies.

Checks already performed

Only one Gateway is listening:

127.0.0.1:18789
[::1]:18789

Only one Gateway service/process is running:

openclaw
openclaw-gateway

No openclaw chat or interactive foreground process was found.

Systemd service command:

ExecStart=/srv/openclaw/npm/global/bin/openclaw gateway run --bind loopback --auth token --port 18789

Channels:

Config path not found: channels

Plugins:

openai
google
anthropic
memory-core

A grep for delivery-mirror returned no hits.

Impact

This causes:

  • double user messages in the transcript
  • double assistant replies
  • possible double API usage/cost
  • session context pollution
  • possible duplicate tool calls if tools are enabled

Notes

This still reproduces in Chrome Incognito with a fresh session. It does not appear to be caused by browser cache, normal browser extensions, multiple Gateway processes, configured external channels, or an interactive CLI process running beside the Gateway.

Please advise whether this is a known Control UI / WebChat duplicate-send bug, and whether there is a config workaround or a fixed release/channel to test.


<img width="1412" height="836" alt="Image" src="https://github.com/user-attachments/assets/04f45555-2b67-42c0-8847-b0e56dd2c3b0" />

Steps to reproduce

NOT_ENOUGH_INFO

Expected behavior

NOT_ENOUGH_INFO

Actual behavior

NOT_ENOUGH_INFO

OpenClaw version

OpenClaw 2026.4.24 (cbcfdf6)

Operating system

Ubuntu Server 24.04 LTS, no GUI

Install method

No response

Model

gpt-5.5

Provider / routing chain

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

Severity (annoying, blocks workflow,

Additional information

No response

extent analysis

TL;DR

The issue is likely caused by the Control UI sending duplicate messages to the OpenClaw Gateway, resulting in duplicate user messages and assistant replies in the server-side session transcript.

Guidance

  • Verify that the issue is not caused by any browser extensions or cache by testing in a different browser or incognito mode.
  • Check the OpenClaw Gateway logs for any errors or warnings that may indicate why the duplicate messages are being sent.
  • Investigate the openclaw-control-ui plugin to see if it is configured to send messages in a way that could cause duplicates.
  • Consider disabling the openclaw-control-ui plugin temporarily to see if the issue persists.

Example

No code snippet is provided as the issue seems to be related to the configuration or interaction between the Control UI and the OpenClaw Gateway.

Notes

The issue may be specific to the OpenClaw version (2026.4.24) or the plugins configured (openai, google, anthropic, memory-core). Further investigation is needed to determine the root cause.

Recommendation

Apply a workaround by disabling the openclaw-control-ui plugin temporarily to see if the issue persists, as this may help identify if the issue is related to the plugin or the Gateway configuration.

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

NOT_ENOUGH_INFO

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 / WebChat duplicates one user message into two transcript user messages and two assistant replies [1 comments, 2 participants]