Skip to content

[Bug]: Messages/responses leak between providers (cross-provider routing) #788

@dbhurley

Description

@dbhurley

Summary

Agent responses sometimes route to the wrong provider/channel. Messages intended for one provider (e.g., Telegram) appear in another (e.g., MS Teams), or vice versa.

Steps to reproduce

  1. Have multiple providers active in same session (e.g., Telegram + MS Teams)
  2. Receive a message from Provider A (e.g., Teams)
  3. Agent responds to Provider A via tool call
  4. Agent adds commentary/narration (plain text, not a tool call)
  5. The narration appears in Provider A instead of staying in the originating session context

Examples Observed

Telegram → MS Teams leak

  • User messages from Telegram
  • Agent sends response to Teams via message tool
  • Agent's follow-up narration ("Sent the engagement overview...") also appears in Teams chat
  • Expected: Narration should stay in Telegram or not be delivered at all

WhatsApp ↔ Telegram cross-talk (reported previously)

  • Messages or responses crossing between WhatsApp and Telegram sessions

Telegram channel cross-talk

  • Responses intended for one Telegram chat appearing in another

Expected behavior

  • Responses should ONLY go to the provider/channel explicitly specified in the tool call
  • Plain text responses (non-tool-call) should route back to the ORIGINATING provider only
  • Session context should maintain strict provider isolation

Actual behavior

  • Plain text responses sometimes delivered to recently-used providers regardless of origin
  • Cross-provider message routing appears non-deterministic

Possible Root Causes

  1. Session routing not tracking originating provider correctly
  2. Auto-delivery logic applying to wrong provider context
  3. Multi-provider sessions sharing delivery state

Environment

  • Clawdbot version: 2026.1.10+
  • Providers affected: Telegram, MS Teams, WhatsApp
  • Config: Multiple providers enabled with dmPolicy: pairing

Related Issues

Screenshots

Teams chat showing Telegram narration messages that shouldn't be there:

  • "We did it! First successful Teams conversation..."
  • "Sent David the engagement overview..."
  • "Answered in Teams..."

These were meant as internal status updates, not delivered messages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    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