Welcome!
What type of feature?
Functionality
What is the motivation for the request?
When a Baileys instance is connected to a WhatsApp number, it registers as a linked device and joins the multi-device session. WhatsApp distributes incoming messages across all active sessions, including the Baileys WebSocket connection. This interferes with the primary device (the user's phone), causing push notifications to be delayed, dropped, or silently consumed by the Baileys session before reaching the phone's OS notification layer.
Behavior is reproducible and consistent:
- Verified on Evolution API v2.3.7, Baileys channel
- iOS push notifications stop arriving within minutes of a new session being established
- Disconnecting the instance immediately restores normal notification delivery
- All settings disabled: Read Messages off, Always Online off, Sync Full History off, Read Status off
Use case: scheduled message delivery tools that only need to send — no need to receive, process, or acknowledge incoming messages, yet the current architecture forces full participation in multi-device message distribution.
Usage Examples
A WhatsApp scheduling tool connects a Baileys instance exclusively to send timed messages (reminders, notifications) on behalf of the user. The user's phone should continue receiving all incoming messages and push notifications normally, as if no linked device existed.
How should the feature be developed?
Add an instance-level configuration flag — e.g. sendOnly: true or ignoreIncomingMessages: true — that instructs the Baileys session to suppress incoming message handling at the socket event level:
- Do not emit or process messages.upsert events where key.fromMe === false
- Do not send read receipts for incoming messages
- Minimize participation in device list metadata exchange that triggers incoming message routing to the linked device
This allows the WebSocket session to remain active for outbound sending while reducing its footprint in WhatsApp's multi-device distribution logic.
Additional Notes
Alternatives already tested and discarded:
- Read Messages: off — does not prevent message routing to the session
- Always Online: off — no observable effect on the interference
- Periodic session restart via cron — not viable, interference begins immediately after connection
- WhatsApp Cloud API (Meta) — resolves the issue but introduces template restrictions incompatible with free-form scheduled messaging
Environment: Evolution API v2.3.7 · Baileys channel · Railway (Docker) · Primary device: iOS WhatsApp Business
Welcome!
What type of feature?
Functionality
What is the motivation for the request?
When a Baileys instance is connected to a WhatsApp number, it registers as a linked device and joins the multi-device session. WhatsApp distributes incoming messages across all active sessions, including the Baileys WebSocket connection. This interferes with the primary device (the user's phone), causing push notifications to be delayed, dropped, or silently consumed by the Baileys session before reaching the phone's OS notification layer.
Behavior is reproducible and consistent:
Use case: scheduled message delivery tools that only need to send — no need to receive, process, or acknowledge incoming messages, yet the current architecture forces full participation in multi-device message distribution.
Usage Examples
A WhatsApp scheduling tool connects a Baileys instance exclusively to send timed messages (reminders, notifications) on behalf of the user. The user's phone should continue receiving all incoming messages and push notifications normally, as if no linked device existed.
How should the feature be developed?
Add an instance-level configuration flag — e.g. sendOnly: true or ignoreIncomingMessages: true — that instructs the Baileys session to suppress incoming message handling at the socket event level:
This allows the WebSocket session to remain active for outbound sending while reducing its footprint in WhatsApp's multi-device distribution logic.
Additional Notes
Alternatives already tested and discarded:
Environment: Evolution API v2.3.7 · Baileys channel · Railway (Docker) · Primary device: iOS WhatsApp Business