openclaw - 💡(How to fix) Fix [Bug] WhatsApp proactive outbound send still fails with 'No active WhatsApp Web listener' on 2026.3.13 while inbound/auto-reply work [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#52774Fetched 2026-04-08 01:19:36
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
commented ×1mentioned ×1subscribed ×1

On OpenClaw 2026.3.13 on macOS, WhatsApp outbound proactive sends are broken even though the channel appears healthy.

The exact failure is:

Error: No active WhatsApp Web listener (account: default)

At the same time:

  • openclaw channels status --probe reports WhatsApp as linked, running, connected
  • gateway logs say Listening for personal WhatsApp inbound messages.
  • inbound/self-chat messages work
  • auto-replies work
  • but openclaw message send --channel whatsapp ... fails every time

This matches the older issue pattern from #14406 very closely: auto-reply path works while the proactive outbound/message-tool path fails.

Error Message

Error: No active WhatsApp Web listener (account: default)

Root Cause

On OpenClaw 2026.3.13 on macOS, WhatsApp outbound proactive sends are broken even though the channel appears healthy.

The exact failure is:

Error: No active WhatsApp Web listener (account: default)

At the same time:

  • openclaw channels status --probe reports WhatsApp as linked, running, connected
  • gateway logs say Listening for personal WhatsApp inbound messages.
  • inbound/self-chat messages work
  • auto-replies work
  • but openclaw message send --channel whatsapp ... fails every time

This matches the older issue pattern from #14406 very closely: auto-reply path works while the proactive outbound/message-tool path fails.

Code Example

Error: No active WhatsApp Web listener (account: default)

---

openclaw channels login --channel whatsapp --account default

---

openclaw channels status --probe

---

openclaw message send --channel whatsapp --target +17863329415 --message "fresh relink outbound test" --json

---

Error: No active WhatsApp Web listener (account: default)

---

Listening for personal WhatsApp inbound messages.
Inbound message +17863329415 -> +17863329415 (direct, 69 chars)
Auto-replied to +17863329415

---

openclaw message send --channel whatsapp --target +17863329415 --message "fresh relink outbound test" --json

---

GatewayClientRequestError: Error: No active WhatsApp Web listener (account: default).
Start the gateway, then link WhatsApp with: openclaw channels login --channel whatsapp --account default.

---

if (!listener) throw new Error(`No active WhatsApp Web listener ...`)
RAW_BUFFERClick to expand / collapse

Summary

On OpenClaw 2026.3.13 on macOS, WhatsApp outbound proactive sends are broken even though the channel appears healthy.

The exact failure is:

Error: No active WhatsApp Web listener (account: default)

At the same time:

  • openclaw channels status --probe reports WhatsApp as linked, running, connected
  • gateway logs say Listening for personal WhatsApp inbound messages.
  • inbound/self-chat messages work
  • auto-replies work
  • but openclaw message send --channel whatsapp ... fails every time

This matches the older issue pattern from #14406 very closely: auto-reply path works while the proactive outbound/message-tool path fails.

Environment

  • OpenClaw: 2026.3.13
  • OS: macOS (Apple Silicon)
  • Channel: WhatsApp Web
  • Account: default
  • Node runtime from installed OpenClaw build

Exact Reproduction

  1. Link WhatsApp successfully using:
    openclaw channels login --channel whatsapp --account default
  2. Confirm status:
    openclaw channels status --probe
    Output shows:
    • enabled
    • configured
    • linked
    • running
    • connected
  3. Send an inbound/self-chat message from the linked WhatsApp account
  4. Observe that inbound handling and auto-reply work
  5. Attempt proactive outbound send:
    openclaw message send --channel whatsapp --target +17863329415 --message "fresh relink outbound test" --json
  6. Observe failure:
    Error: No active WhatsApp Web listener (account: default)

What We Already Tried

We did a very thorough recovery sequence before filing this:

  • verified WhatsApp channel was enabled/configured
  • verified status via openclaw channels status --probe
  • restarted the gateway multiple times
  • reinstalled/updated OpenClaw (npm i -g openclaw@latest --no-fund --no-audit --loglevel=error)
  • confirmed there was no newer npm release than 2026.3.13
  • checked the WhatsApp credential store size
  • confirmed the credential store was not bloated
    • only ~72 files
    • around 288K
  • fully logged out WhatsApp
  • moved the credential directory aside and started fresh
  • re-linked WhatsApp with a fresh QR scan using the native terminal login flow
  • retested proactive outbound immediately after fresh relink

The failure still reproduces on a completely fresh session.

Credential Store Observation

This does not look like the credential-bloat case from #19618.

At the time of debugging, the live WhatsApp credential directory was small and healthy (roughly 72 files), and after a full clean reset + relink the same bug still occurred.

So for this case the stronger match is the older listener-registry / duplicate-runtime-chunk problem from #14406.

Observed Behavior

Status probe says healthy

openclaw channels status --probe shows:

  • WhatsApp default: enabled, configured, linked, running, connected

Logs show inbound is alive

Gateway logs include lines like:

Listening for personal WhatsApp inbound messages.
Inbound message +17863329415 -> +17863329415 (direct, 69 chars)
Auto-replied to +17863329415

Proactive outbound still fails

At the same time, this command fails:

openclaw message send --channel whatsapp --target +17863329415 --message "fresh relink outbound test" --json

with:

GatewayClientRequestError: Error: No active WhatsApp Web listener (account: default).
Start the gateway, then link WhatsApp with: openclaw channels login --channel whatsapp --account default.

Why This Looks Like #14406 Again

The practical split is exactly this:

  • reply/inbound path works
  • auto-reply works
  • message-tool / proactive outbound path fails

That strongly suggests the outbound path is still resolving a different or stale active-listener registry than the channel/reply path populates.

During local inspection of the installed dist/ bundle, we also observed multiple bundled copies of the listener-guard code containing:

if (!listener) throw new Error(`No active WhatsApp Web listener ...`)

across different chunk files, which is consistent with the duplicate-runtime-chunk hypothesis.

Request

Please reopen investigation into the proactive WhatsApp outbound path on current builds.

This appears to still be reproducible on 2026.3.13 even after:

  • clean credential reset
  • fresh QR relink
  • immediate retest

If helpful, I can provide:

  • exact status output
  • log excerpts
  • local chunk names observed in the installed dist/ directory

extent analysis

Fix Plan

To resolve the issue with WhatsApp outbound proactive sends, we need to address the duplicate-runtime-chunk problem. Here are the steps:

  • Code Changes: Update the listener-guard code to ensure that only one instance of the listener is registered. This can be achieved by using a singleton pattern or a centralized registry for listeners.
  • Example Code:
// Create a centralized registry for listeners
const listenerRegistry = {};

// Update the listener-guard code to use the registry
if (!listenerRegistry['whatsapp']) {
  listenerRegistry['whatsapp'] = new WhatsAppListener();
}

// Use the registered listener
const listener = listenerRegistry['whatsapp'];
if (!listener) {
  throw new Error(`No active WhatsApp Web listener ...`)
}
  • Configuration Changes: Verify that the openclaw configuration is correct and that the WhatsApp channel is properly configured.
  • Infra / Dependency Fixes: Ensure that the openclaw dependencies are up-to-date and that there are no conflicts between different versions of the dependencies.

Verification

To verify that the fix worked, follow these steps:

  • Restart the gateway and relink the WhatsApp channel.
  • Send a proactive outbound message using the openclaw message send command.
  • Verify that the message is sent successfully and that there are no errors in the gateway logs.

Extra Tips

To prevent similar issues in the future, it's recommended to:

  • Regularly update the openclaw dependencies to ensure that you have the latest fixes and features.
  • Monitor the gateway logs for any errors or warnings related to the WhatsApp channel.
  • Test the WhatsApp channel regularly to ensure that it's working correctly.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Bug] WhatsApp proactive outbound send still fails with 'No active WhatsApp Web listener' on 2026.3.13 while inbound/auto-reply work [1 comments, 2 participants]