May 06, 2026 β€’ Version: 2026.5.7

BlueBubbles: Suppressing Outbound Message-ID System Events

How to configure the BlueBubbles channel to prevent system events from appearing as visible bubbles in iMessage threads when outbound message-ID tracking is not required.

πŸ” Symptoms

Visible System Event Bubbles in iMessage

When the BlueBubbles plugin processes outbound messages, system event notifications appear as user-visible bubbles in iMessage threads:

System: [2026-05-14 09:23:41] Assistant sent "preview..." [message_id:8A9B2C3D]

Trigger Points

The system events originate from two distinct execution paths in monitor-processing-*.js:

Path A β€” Synchronous Confirmation (~line 1769)

// maybeEnqueueOutboundMessageId block
core.system.enqueueSystemEvent({
  type: 'bluebubbles_outbound_message_id',
  channel: 'bluebubbles',
  data: { messageId, chatGuid, tempId }
});

Path B β€” Fallback Handler (~line 1359)

// fromMe webhook handler
core.system.enqueueSystemEvent({
  type: 'bluebubbles_outbound_message_id',
  channel: 'bluebubbles',
  data: { messageId: realId, chatGuid, tempId }
});

Impact on User Experience

These events are processed through drainFormattedSystemEvents() and injected into the next user turn, causing:

  • Unexpected System: prefixed messages appearing in chat logs
  • Channel adapter receiving spurious system notifications
  • Noisy conversation history when reviewing chat transcripts

🧠 Root Cause

Architectural Design

The BlueBubbles plugin implements a dual-reference system for outbound messages:

Evidence & Sources

This troubleshooting guide was automatically synthesized by the FixClaw Intelligence Pipeline from community discussions.