-
-
Notifications
You must be signed in to change notification settings - Fork 69.5k
BlueBubbles webhook returns 404 despite plugin logging 'listening on /bluebubbles-webhook' #47468
Copy link
Copy link
Closed
Description
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:
- fix(gateway): move plugin HTTP routes before Control UI SPA catch-all #31885: Gateway/Plugin HTTP route precedence
- fix(gateway): let POST requests pass through root-mounted Control UI to plugin handlers #31349: Gateway/Control UI basePath POST handling
- fix(gateway): let non-GET requests fall through controlUi routing when basePath is set #32311: Gateway/Control UI basePath webhook passthrough
However, this issue persists in 2026.3.13.
Workarounds Attempted
- ✅ Explicitly set
channels.bluebubbles.webhookPath - ✅ Configure
plugins.allowto include "bluebubbles" - ✅ Restart OpenClaw gateway
- ✅ Change
dmPolicyto "open" - ✅ Set
allowFromto["*"]
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)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Fields
Give feedbackNo fields configured for issues without a type.