BlueBubbles removal and the imsg iMessage path

Apus no longer ships the BlueBubbles channel. iMessage support runs through the official @openclaw/imessage plugin: the Gateway spawns imsg as a child process, locally or through an SSH wrapper, and talks JSON-RPC over stdin/stdout. No server, no webhook, no port.

If your config still contains channels.bluebubbles, migrate it to channels.imessage. The legacy /channels/bluebubbles docs URL redirects to Coming from BlueBubbles, which has the full config translation table and cutover checklist.

What changed

What to do

  1. Install the official plugin on the Gateway host, then restart the Gateway:

    apus plugins install @openclaw/imessage
    
  2. Install and verify imsg on the Messages Mac:

    brew install steipete/tap/imsg
    imsg --version
    imsg chats --limit 3
    imsg rpc --help
    
  3. Grant Full Disk Access and Automation permissions to the process context that runs imsg and Apus.

  4. Translate the old config:

    {
      channels: {
        imessage: {
          enabled: true,
          cliPath: "/opt/homebrew/bin/imsg",
          dmPolicy: "pairing",
          allowFrom: ["+15555550123"],
          groupPolicy: "allowlist",
          groupAllowFrom: ["+15555550123"],
          groups: {
            "*": { requireMention: true },
          },
          includeAttachments: true,
        },
      },
    }
    
  5. Restart the Gateway and verify:

    apus channels status --probe
    
  6. Test DMs, groups, attachments, and any private API actions you depend on before deleting your old BlueBubbles server.

Migration notes

See also