-
-
Notifications
You must be signed in to change notification settings - Fork 80.3k
[Bug]: sessions_send with announce delivery injects Argus reply context into isolated cron session, causing agent feedback loop #92257
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.bugSomething isn't workingSomething isn't workingbug:behaviorIncorrect behavior without a crashIncorrect behavior without a crashclawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper 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 does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, 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.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.bugSomething isn't workingSomething isn't workingbug:behaviorIncorrect behavior without a crashIncorrect behavior without a crashclawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper 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 does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, 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.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
No fields configured for issues without a type.
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
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
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.