Skip to content

[Bug]: TUI displays system-generated messages (heartbeats, memory flushes, NO_REPLY) in chat history #23979

@joeyfrasier

Description

@joeyfrasier

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

  1. Heartbeat prompts — e.g. "Read HEARTBEAT.md if it exists... reply HEARTBEAT_OK"
  2. Memory flush prompts — e.g. "Pre-compaction memory flush. Store durable memories now." or custom prompts like "Extract key decisions, state changes..."
  3. Silent responsesNO_REPLY, HEARTBEAT_OK, NO_FLUSH
  4. Post-compaction audit messages — "Post-Compaction Audit: The following files were not read..."
  5. Compaction status messages — "Compacted • Context 147k/200k (74%)"

Steps to Reproduce

  1. Open the TUI (openclaw)
  2. Wait for a heartbeat or memory flush cycle to run
  3. Observe that the heartbeat/flush prompt appears as a "you" message and the NO_REPLY/HEARTBEAT_OK response 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions