Skip to content

[Bug]: sessions_send with announce delivery injects Argus reply context into isolated cron session, causing agent feedback loop #92257

Description

@nailujac

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

When an isolated cron session (agentId: youtube) calls sessions_send to agent:main:main with the default announce delivery mode, the gateway injects the receiving agent's reply context back into the originating cron session. The cron agent (Orfeo) received SEO blog data from Argus's prior context, misidentified it as a message directed at it, and generated multiple unsolicited follow-up sessions_send calls — creating a feedback loop. Reproduced on 2026-06-01 with OpenClaw 2026.5.x.

Steps to reproduce

  1. Agent A (Argus, agent:main) processes an inter-session message containing domain-specific data (e.g., SEO report) and sends a Telegram notification.
  2. Shortly after (~1 min), Agent B's isolated cron session (agent:youtube:cron:bf05dd0f:run:b41f8df6) calls sessions_send to agent:main:main with timeoutSeconds: 0 and default announce delivery.
  3. Observe: Agent B's cron session receives multiple additional turns containing Agent A's context (SEO report data), misidentifies it as a message directed at it, and sends 3 more unsolicited sessions_send messages back to agent:main:main.

Expected behavior

sessions_send from an isolated cron session should deliver the message to the target agent and return an accepted status. The cron session should not receive any reply context or continuation turns. timeoutSeconds: 0 should guarantee fire-and-forget with no feedback.

Actual behavior

The cron session received 3 additional injected turns after its sessions_send, containing Agent A's reply context (SEO blog analysis). The cron agent generated responses to this unexpected context and sent them back as new sessions_send calls. All 4 inter-session messages arrived at agent:main:main from sourceSession=agent:youtube:cron:bf05dd0f:run:b41f8df6.

OpenClaw version

2026.5.27

Operating system

Ubuntu 24.04 (Linux 6.17.0, arm64)

Install method

npm global

Model

anthropic/claude-sonnet-4-6 (Orfeo cron), anthropic/claude-sonnet-4-6 (Argus)

Provider / routing chain

openclaw -> antrhopic

Additional provider/model setup details

No response

Logs, screenshots, and evidence

# Cron session b41f8df6 (Orfeo, informe mensual) — sessions_send call at 09:10:15:
sessions_send({
  sessionKey: "agent:main:main",
  message: "[ORFEO] Informe mensual YouTube mayo 2026 enviado...",
  timeoutSeconds: 0
})
→ status: accepted, delivery: { status: "pending", mode: "announce" }

# Messages arriving at agent:main (session 65c28026) from cron b41f8df6:
09:10:17 sourceChannel=telegram  → "[ORFEO] Informe mensual YouTube mayo 2026 enviado..."  ✅ expected
09:10:38 sourceChannel=webchat   → "Recibido, pero creo que este mensaje llegó al agente equivocado. Soy Orfeo (YouTube)..." ❌ unexpected
09:10:46 sourceChannel=telegram  → "He avisado a Argus. El informe SEO del blog no es de mi competencia..." ❌ unexpected
09:11:46 sourceChannel=telegram  → "Agent-to-agent announce step." ❌ unexpected
09:12:28 sourceChannel=webchat   → "Recibido. He revisado el informe mensual de YouTube..." ❌ unexpected

Impact and severity

• Severity: medium — produces spurious inter-session messages, confuses receiving agent, wastes tokens
• Frequency: reproduced on 2026-06-01; unclear if consistent
• Both crons were active simultaneously (seo-mensual ran 08:00–08:07, informe-mensual-Orfeo ran 09:00–09:10), suggesting a timing/concurrency factor

Additional information

The sessions_send was called with timeoutSeconds: 0, which should enforce fire-and-forget. The feedback loop suggests the announce delivery mode is injecting reply context back into the originating session regardless of timeoutSeconds. A possible root cause: announce delivery opens a response channel that the gateway uses to push Argus's active session context into the cron session as continuation turns.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingbug:behaviorIncorrect behavior without a crashclawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

    Type

    No type

    Fields

    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