Skip to content

WhatsApp Group Messages Not Received - Inbound Broken in 2026.2.15 #19509

@nabbot2026-max

Description

@nabbot2026-max

WhatsApp Group Messages Not Received - OpenClaw 2026.2.15

Summary

WhatsApp provider ignores all inbound group messages despite correct configuration. The gateway only listens for "personal" (direct) messages.

Environment

  • OpenClaw Version: 2026.2.15 (updated 2026-02-17 12:52 PM PST)
  • Platform: macOS (Darwin 21.6.0)
  • Node: v24.13.1
  • WhatsApp Plugin: Bundled (whatsapp plugin enabled: true)

Expected Behavior

With channels.whatsapp.groups configured and agents bound to specific group JIDs, inbound messages from those groups should:

  1. Be received by the WhatsApp provider
  2. Route to the bound agent based on bindings config
  3. Trigger agent responses

Actual Behavior

  • Gateway log shows: "Listening for personal WhatsApp inbound messages."
  • Zero group messages are ever received (checked full day logs)
  • Only direct messages show as inbound in logs: "Inbound message +XXX -> +XXX (direct, N chars)"
  • Outbound messages TO groups work perfectly

Configuration Tested

Working Outbound Config (sending to groups works)

{
  "channels": {
    "whatsapp": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["GROUP_JID_1", "GROUP_JID_2"],
      "accounts": {
        "default": {
          "groupPolicy": "allowlist",
          "groupAllowFrom": ["GROUP_JID_1", "GROUP_JID_2"]
        }
      }
    }
  },
  "bindings": [
    {
      "agentId": "agent1",
      "match": {
        "channel": "whatsapp",
        "accountId": "default",
        "peer": { "kind": "group", "id": "GROUP_JID_1" }
      }
    }
  ]
}

Also Tested (still broken)

{
  "channels": {
    "whatsapp": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["GROUP_JID_1", "GROUP_JID_2"],
      "groups": {
        "GROUP_JID_1": { "requireMention": false },
        "GROUP_JID_2": { "requireMention": false }
      },
      "accounts": {
        "default": {
          "groupPolicy": "allowlist",
          "groupAllowFrom": ["GROUP_JID_1", "GROUP_JID_2"],
          "groups": {
            "GROUP_JID_1": { "requireMention": false },
            "GROUP_JID_2": { "requireMention": false }
          }
        }
      }
    }
  }
}

Evidence from Logs

Gateway startup (every restart):

[whatsapp] [default] starting provider (+12136482436)
[whatsapp] Listening for personal WhatsApp inbound messages.

Config reload detection (shows config IS being read):

[gateway/reload] config change detected; evaluating reload (meta.lastTouchedAt, agents.list, bindings, channels.whatsapp.groups, channels.whatsapp.accounts.default.groups)
[gateway/reload] config change applied (dynamic reads: ...)

Inbound message samples (only directs, never groups):

[whatsapp/inbound] Inbound message +13107705099 -> +12136482436 (direct, 56 chars)
[whatsapp/inbound] Inbound message +13107705099 -> +12136482436 (direct, 71 chars)
[whatsapp/inbound] Inbound message +13107705099 -> +12136482436 (direct, 101 chars)

Zero group messages in entire day's logs

Outbound to groups (WORKS):

[whatsapp/outbound] Sending message -> 120363422739215303@g.us
[whatsapp/outbound] Sent message 3EB0D66DA28140B4180253 -> 120363422739215303@g.us (110ms)

Verification Steps Taken

  1. ✅ Bot number (+12136482436) is a member of both groups
  2. ✅ Outbound messages to groups work (confirmed delivery)
  3. ✅ Config schema validation passes
  4. ✅ Config hot-reload detects group config changes
  5. ✅ Agent bindings are correct
  6. ✅ No errors/warnings in logs related to groups
  7. Inbound group messages never reach the provider

Analysis

The WhatsApp provider appears to:

  • Successfully read and hot-reload the groups config (logs confirm)
  • Ignore the config when establishing inbound listeners
  • Only attach listeners for direct/personal messages
  • Never subscribe to group message events at the protocol level

Suspected Root Cause

The provider startup logic may have a hardcoded limitation or the group listener registration is commented out / not implemented despite the config schema supporting it.

Reproduction Steps

  1. Install OpenClaw 2026.2.15
  2. Configure WhatsApp channel with groups (any of the above configs)
  3. Add bot number to WhatsApp groups
  4. Send message in group
  5. Observe: Gateway logs show zero inbound messages from group

Impact

  • Multi-agent group chat setups completely broken
  • No way to have different agents respond to different WhatsApp groups
  • WhatsApp groups effectively read-only (can send, can't receive)

Possible Regression

Update to 2026.2.15 occurred at 12:52 PM on 2026-02-17. Config backups suggest group listening may have worked in previous versions with just groupAllowFrom containing group JIDs (without the separate groups object).

Additional Context

  • Direct messages work perfectly
  • Message tool can successfully send to groups via message(action="send", target="GROUP_JID")
  • Config schema clearly supports channels.whatsapp.groups
  • Gateway config reload system detects changes to groups config
  • The "Listening for personal WhatsApp inbound messages" log line appears suspicious

Requested Fix

Make WhatsApp provider respect channels.whatsapp.groups and channels.whatsapp.accounts.{id}.groups config when establishing inbound message listeners.


Log Excerpts Available: Full logs available on request
Config Files Available: Sanitized config available on request

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions