Skip to content

Prevent bot-to-bot status messages from waking peer bots #85

@Marcusmei6

Description

@Marcusmei6

Background

In a Lark/Feishu group with multiple botmux-managed bots, one bot can hand off work to another bot via botmux send --mention <peer_bot_open_id>. That part works, but ordinary follow-up/status messages from the recipient bot can accidentally wake the sender bot again if the message replies to or mentions the sender bot.

We saw this in a Seed/Claude -> Codex workflow:

  1. Seed/Claude sent a formal handoff to Codex with --mention.
  2. Codex sent a pickup/progress/final-style message.
  3. That message triggered Seed/Claude as a new incidental session.
  4. The two bots started exchanging low-value status/ack messages until the sessions were manually closed.

This is especially easy to hit in scheduled automation where nobody is watching the group in real time.

Expected behavior

Agent-facing routing hints should make bot-to-bot communication one-way unless a message assigns a new concrete task.

Suggested rules:

  • Only --mention another bot for a real handoff that assigns a new task.
  • Do not reply to another bot's pickup/progress/ack/final-summary/correction message.
  • Final results should be sent to the user/group as a top-level message without mentioning the peer bot.
  • If a bot session is opened only by another bot's status/progress/summary message, it should stay silent and close the incidental session.

Local mitigation that worked

We patched the installed botmux prompt/i18n text locally to add a "no bot chatter" rule in both Claude Code append-system-prompt and generic shell hints. The important behavior change was prompt-level only; no protocol change was required.

The wording we used was roughly:

  • Do not send bot-to-bot acknowledgements, progress-only messages, thanks, corrections, or final summaries with --mention.
  • Only mention another bot for a real handoff that assigns a new concrete task.
  • If opened by another bot's status/progress/summary message, do not reply; close the incidental session.

Possible upstream change

Add this rule to:

  • src/i18n/zh.ts
  • src/i18n/en.ts
  • Claude Code append-system-prompt identity/routing block
  • Generic shell hints / available-bots hint, if applicable

This would make multi-bot scheduled workflows less likely to create accidental bot chatter loops.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions