Skip to content

BlueBubbles webhook POST returns 404 despite plugin reporting 'webhook listening' #49395

@imaznation

Description

@imaznation

BlueBubbles webhook POST returns 404 despite plugin reporting "webhook listening"

Version: OpenClaw 2026.3.13 (61d171a)
OS: macOS Tahoe 26.4.0 (arm64)
BlueBubbles Server: 1.9.9

Problem

POST requests to the BlueBubbles webhook path return 404, while GET returns 200 (SPA catch-all HTML).

Config

channels: {
  bluebubbles: {
    enabled: true,
    serverUrl: "http://192.168.68.64:1234",
    password: "<redacted>",
    webhookPath: "/bluebubbles-webhook",
    dmPolicy: "pairing",
    groupPolicy: "allowlist",
  }
}
gateway: {
  port: 18789,
  mode: "local",
  bind: "loopback",
}

Evidence

Gateway startup log shows:

[bluebubbles] [default] starting provider (webhook=/bluebubbles-webhook)
[bluebubbles] [default] BlueBubbles server macOS 26.4.0
[bluebubbles] [default] BlueBubbles Private API enabled
[bluebubbles] [default] BlueBubbles webhook listening on /bluebubbles-webhook

But:

$ curl -X POST http://127.0.0.1:18789/bluebubbles-webhook?password=<pw> -H "Content-Type: application/json" -d '{"type":"test"}'
Not Found (404)

$ curl http://127.0.0.1:18789/bluebubbles-webhook?password=<pw>
<!doctype html>... (SPA HTML - not the webhook handler)

Notes

  • Outbound messaging (send via REST API) works fine
  • This was previously working (outbound messages were sent at 4:43 PM on 3/16)
  • Multiple gateway restarts (SIGUSR1 + full manual restart) don't fix it
  • No config changes were made between working and broken states
  • Plugin plugin entry is enabled in plugins.entries.bluebubbles

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