OpenClaw BlueBubbles Webhook 404 Bug Report
Summary
BlueBubbles webhook route returns 404 Not Found despite plugin logging "listening on /bluebubbles-webhook". Webhook requests from BlueBubbles server fail with 404 error.
Environment
- OpenClaw Version: 2026.3.13 (61d171a)
- OS: macOS 26.3.1 (arm64)
- Node.js: v22.22.1
- BlueBubbles Server: 1.9.9
- Installation Method: npm (stable channel)
- Network: Private LAN (IP addresses redacted)
Configuration
channels.bluebubbles
{
"enabled": true,
"serverUrl": "http://[REDACTED_IP]:1234",
"password": "[REDACTED]",
"webhookPath": "/bluebubbles-webhook",
"dmPolicy": "pairing",
"allowFrom": ["*"],
"groupPolicy": "allowlist"
}
plugins.allow
["bluebubbles", "openclaw-qqbot"]
Steps to Reproduce
- Configure BlueBubbles channel with webhookPath explicitly set
- Enable plugins.allow to include "bluebubbles"
- Restart OpenClaw gateway
- Send test webhook request:
curl -X POST "http://[REDACTED_IP]:18789/bluebubbles-webhook?password=[PASSWORD]" \
-H "Content-Type: application/json" \
-d '{"type":"new-message","text":"test"}'
- Observe 404 Not Found response
Expected Behavior
Webhook request should return 200 OK and be processed by BlueBubbles plugin.
Actual Behavior
- HTTP 404 Not Found response
- BlueBubbles server logs show:
[WebhookService] -> Status Text: Not Found
[WebhookService] -> Error: Request failed with status code 404
[WebhookService] Failed to dispatch "new-message" event to webhook
Logs
OpenClaw Gateway Logs
[default] starting provider (webhook=/bluebubbles-webhook)
[default] BlueBubbles webhook listening on /bluebubbles-webhook
Note: Plugin logs indicate webhook is listening, but HTTP requests return 404.
BlueBubbles Server Logs
[BlueBubblesServer] New Message from ***@me.com, "1"; Date: 3/16/2026, 12:10:06 AM
[WebhookService] Dispatching event to webhook: http://[REDACTED_IP]:18789/bluebubbles-webhook?password=***
[WebhookService] Failed to dispatch "new-message" event to webhook: http://[REDACTED_IP]:18789/bluebubbles-webhook?password=***
[WebhookService] -> Error: Request failed with status code 404
[WebhookService] -> Status Text: Not Found
Analysis
The issue appears to be a mismatch between:
- Plugin layer: Successfully registers webhook route (logs "listening on /bluebubbles-webhook")
- HTTP server layer: Does not expose the route (returns 404)
This suggests the registerPluginHttpRoute API is not properly wiring routes to the HTTP server in this configuration.
Related Issues
Based on CHANGELOG.md, similar issues have been fixed:
However, this issue persists in 2026.3.13.
Workarounds Attempted
- ✅ Explicitly set
channels.bluebubbles.webhookPath
- ✅ Configure
plugins.allow to include "bluebubbles"
- ✅ Restart OpenClaw gateway
- ✅ Change
dmPolicy to "open"
- ✅ Set
allowFrom to ["*"]
None resolved the 404 error.
Impact
- Cannot receive iMessage messages via BlueBubbles integration
- OpenClaw can send messages TO iMessage (outbound works)
- OpenClaw cannot receive messages FROM iMessage (inbound broken)
Additional Context
- BlueBubbles server is running correctly (responds to API calls)
- BlueBubbles detects new messages and attempts to send webhooks
- Other channels (QQ Bot) work correctly
- Gateway mode:
local
- Gateway bind:
lan
Reporter
- GitHub: (to be filled)
- Contact: via OpenClaw QQ Bot community
Labels: bug, bluebubbles, webhook, regression
Priority: High (breaks core functionality)
OpenClaw BlueBubbles Webhook 404 Bug Report
Summary
BlueBubbles webhook route returns 404 Not Found despite plugin logging "listening on /bluebubbles-webhook". Webhook requests from BlueBubbles server fail with 404 error.
Environment
Configuration
channels.bluebubbles
{ "enabled": true, "serverUrl": "http://[REDACTED_IP]:1234", "password": "[REDACTED]", "webhookPath": "/bluebubbles-webhook", "dmPolicy": "pairing", "allowFrom": ["*"], "groupPolicy": "allowlist" }plugins.allow
Steps to Reproduce
Expected Behavior
Webhook request should return 200 OK and be processed by BlueBubbles plugin.
Actual Behavior
Logs
OpenClaw Gateway Logs
Note: Plugin logs indicate webhook is listening, but HTTP requests return 404.
BlueBubbles Server Logs
Analysis
The issue appears to be a mismatch between:
This suggests the
registerPluginHttpRouteAPI is not properly wiring routes to the HTTP server in this configuration.Related Issues
Based on CHANGELOG.md, similar issues have been fixed:
However, this issue persists in 2026.3.13.
Workarounds Attempted
channels.bluebubbles.webhookPathplugins.allowto include "bluebubbles"dmPolicyto "open"allowFromto["*"]None resolved the 404 error.
Impact
Additional Context
locallanReporter
Labels: bug, bluebubbles, webhook, regression
Priority: High (breaks core functionality)