Skip to content

[Bug]: WhatsApp 499 reconnect triggers false 'scheduled reminder' system message #14000

@khaeransori

Description

@khaeransori

Summary

WhatsApp heartbeat reconnect (status 499) triggers a system message saying "A scheduled reminder has been triggered" but with no actual reminder content - only the gateway disconnect/reconnect messages.

Environment

  • OpenClaw version: 2026.2.9
  • OS: Ubuntu Linux 6.8.0-71-generic (x64)
  • Node: 22.22.0
  • Channel: WhatsApp

Steps to Reproduce

  1. Have WhatsApp channel connected
  2. Wait for 30 minutes of idle (no messages)
  3. WhatsApp heartbeat triggers automatic reconnect (status 499)
  4. System injects message to agent session:
System: [timestamp] WhatsApp gateway disconnected (status 499)
System: [timestamp] WhatsApp gateway connected.

A scheduled reminder has been triggered. The reminder message is shown in the system messages above. Please relay this reminder to the user in a helpful and friendly way.

Expected Behavior

  • WhatsApp heartbeat reconnect (499) should NOT trigger a "scheduled reminder" message
  • OR the reminder system should only fire when there's actual reminder content

Actual Behavior

  • Every 499 reconnect triggers the reminder prompt
  • Agent receives instruction to "relay reminder" but there's no reminder content
  • Agent has to explain to user that there's no actual reminder

Logs

From /tmp/openclaw/openclaw-2026-02-11.log:

{"subsystem":"gateway/channels/whatsapp/heartbeat"} "No messages received in 30m - restarting connection"
{"module":"web-reconnect"} {"status":499,"reconnectAttempts":1} "web reconnect: scheduling retry"
{"subsystem":"gateway/channels/whatsapp"} "WhatsApp Web connection closed (status 499). Retry 1/12..."
{"subsystem":"gateway/channels/whatsapp"} "Listening for personal WhatsApp inbound messages."

Additional Context

  • The 499 reconnects are intentional (heartbeat after 30m idle) - this is fine
  • The issue is that it incorrectly triggers the reminder relay prompt
  • This happens multiple times per day during idle periods

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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