-
-
Notifications
You must be signed in to change notification settings - Fork 69.2k
[Bug]: TUI displays system-generated messages (heartbeats, memory flushes, NO_REPLY) in chat history #23979
Copy link
Copy link
Closed as not planned
Closed as not planned
Copy link
Labels
staleMarked as stale due to inactivityMarked as stale due to inactivity
Description
Bug Description
System-generated messages — heartbeat prompts, pre-compaction memory flush prompts, and their corresponding NO_REPLY/HEARTBEAT_OK responses — are rendered as regular user and assistant messages in the TUI chat log.
These internal turns are injected by OpenClaw for maintenance purposes and should never appear in user-visible chat history.
Messages affected
- Heartbeat prompts — e.g. "Read HEARTBEAT.md if it exists... reply HEARTBEAT_OK"
- Memory flush prompts — e.g. "Pre-compaction memory flush. Store durable memories now." or custom prompts like "Extract key decisions, state changes..."
- Silent responses —
NO_REPLY,HEARTBEAT_OK,NO_FLUSH - Post-compaction audit messages — "Post-Compaction Audit: The following files were not read..."
- Compaction status messages — "Compacted • Context 147k/200k (74%)"
Steps to Reproduce
- Open the TUI (
openclaw) - Wait for a heartbeat or memory flush cycle to run
- Observe that the heartbeat/flush prompt appears as a "you" message and the
NO_REPLY/HEARTBEAT_OKresponse appears as an assistant message
Expected Behavior
System-generated messages should be filtered from the TUI chat history. Only user-initiated messages and meaningful assistant responses should be displayed.
Actual Behavior
All transcript entries are displayed verbatim, including internal maintenance turns.
Environment
- OpenClaw 2026.2.21 (TUI)
- Gateway 2026.2.22
- Affects: TUI history loading and real-time event streaming
Related
- Google Chat: conversation metadata and cron announce payloads rendered as visible messages #23971 (Google Chat: similar issue with metadata leaking into chat)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
staleMarked as stale due to inactivityMarked as stale due to inactivity
Type
Fields
Give feedbackNo fields configured for issues without a type.