Skip to content

Cron failure notifications leak into user chat as "You" messages #20824

@jabisu-sudo

Description

@jabisu-sudo

Summary

When a cron job fails delivery, the error notification appears in webchat as a message sent by "You" (the user), even though the user never sent it.

Core problem

Internal event routing is leaking into user-visible chat. The systemEvent mechanism is meant to trigger agent responses internally, but it's being exposed in the chat transcript and actively affecting the user's conversation.

This isn't just a cosmetic UI issue — the internal plumbing is showing up where users interact with the agent.

Expected behavior

Internal system events (cron failures, heartbeat notifications, etc.) should be invisible to users. The chat transcript should only contain actual user-agent conversation.

Actual behavior

  1. Cron job fails delivery
  2. OpenClaw calls enqueueSystemEvent with the error
  3. On next heartbeat, this gets prepended to the user turn as System: [timestamp] message
  4. Transcript stores this as role: "user"
  5. Webchat displays it as "You" sent this message
  6. Agent responds to it as if the user asked something
  7. User's chat history now contains messages they never sent

Why this matters

  • Users see themselves "saying" things they never said
  • Agent responds to system noise, derailing the actual conversation
  • Internal implementation details pollute the user experience
  • Breaks trust in what the chat history represents

Suggested fix

Either:

  1. Don't store systemEvent-injected content in the user-visible transcript
  2. Use a separate role (e.g. system) that doesn't appear in chat.history
  3. Process system events out-of-band without injecting into user turns

Environment

  • OpenClaw version: 0.1.108

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