Skip to content

[Bug]: Secondary Agent "hijacking" all Slack traffic (DMs & Channels) despite specific binding #10736

Description

@xinbenlv

Title: Issue: Secondary Agent "hijacking" all Slack traffic (DMs & Channels) despite specific binding

Context:
I am running a multi-agent OpenClaw setup with a Default Agent (main) and a Secondary Agent.
My goal is for the Secondary Agent to handle only one specific Slack channel, while the Default Agent handles everything else (DMs, other channels).

The Problem:
The Secondary Agent is receiving all Slack traffic, including Direct Messages (DMs) and messages in non-bound channels. The Default Agent is effectively being bypassed
for Slack.

Configuration:
I have an explicit binding in openclaw.json that targets a single channel ID. There are no other bindings.

  "bindings": [                                                                                                                                                         
    {                                                                                                                                                                   
      "agentId": "secondary_agent_name",                                                                                                                                
      "match": {                                                                                                                                                        
        "channel": "slack",                                                                                                                                             
        "peer": {                                                                                                                                                       
          "kind": "channel",                                                                                                                                            
          "id": "C_SPECIFIC_CHANNEL_ID"                                                                                                                                 
        }                                                                                                                                                               
      }                                                                                                                                                                 
    }                                                                                                                                                                   
  ]                                                                                                                                                                     

Troubleshooting Steps Taken:

  1. Cleared Session State: I deleted the sessions.json file from the secondary agent's directory to remove any session stickiness.
  2. Restarted Gateway: I ran openclaw gateway restart multiple times to reload the configuration.
  3. Verified Agent Identity: Asking "What is your agent id?" in a fresh DM confirms it is responding as the Secondary Agent.

Question:
Why does the Secondary Agent take precedence over the Default (main) agent for DMs and unbound channels? Is there an implicit routing rule or a "default fallback"
setting I might be missing that causes the secondary agent to grab the global Slack socket connection?

Environment:

  • OpenClaw Version: 2026.2.3-1 (d84eb46)
  • Model: google/gemini-3-pro-preview
  • Slack Integration: Socket Mode

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstaleMarked as stale due to inactivity

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions