openclaw - 💡(How to fix) Fix feat(gateway): allow per-agent replyToCurrent=false to disable auto-attaching assistant text as reply

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Fix Action

Fix / Workaround

  1. Dispatcher / cron-triggered agents: a cron systemEvent fires DARGO, DARGO calls message thread-reply to dispatch to PM, and the gateway then attaches DARGO's own "dispatched" assistant text as a reply to the cron message → produces orphan threads in Feishu.
  2. Strict "no narration" agents: we enforce internally (red line R12) that DARGO must only produce channel output via the message tool. Currently this is policed by prompt + skill + tripwire scripts, and recurrence is still ~5–6 violations per week.
  • DARGO subagent / cron flow: pure execution, no need to reply to inbound
  • Agents that must obey strict "tool-only output" contracts (audit, dispatcher, watchdog roles)

Code Example

{
  "channels": {
    "feishu": {
      "accounts": {
        "dargo": {
          "replyToCurrent": false  // default true; opt-in opt-out
        }
      }
    }
  }
}

---

{
  "outputContract": ["message-tool-only"]
}
RAW_BUFFERClick to expand / collapse

Motivation

We hit two recurring pain points with the current "assistant text → auto-reply to inbound" behavior:

  1. Dispatcher / cron-triggered agents: a cron systemEvent fires DARGO, DARGO calls message thread-reply to dispatch to PM, and the gateway then attaches DARGO's own "dispatched" assistant text as a reply to the cron message → produces orphan threads in Feishu.
  2. Strict "no narration" agents: we enforce internally (red line R12) that DARGO must only produce channel output via the message tool. Currently this is policed by prompt + skill + tripwire scripts, and recurrence is still ~5–6 violations per week.

Proposal

Add a per-account opt-out, e.g.:

{
  "channels": {
    "feishu": {
      "accounts": {
        "dargo": {
          "replyToCurrent": false  // default true; opt-in opt-out
        }
      }
    }
  }
}

When false, plain assistant text is not auto-attached to the inbound message as a reply. Only explicit message tool calls produce channel output. Plain text still appears in the session transcript for debugging.

Equivalent agent-side knob also welcome:

{
  "outputContract": ["message-tool-only"]
}

Use cases

  • DARGO subagent / cron flow: pure execution, no need to reply to inbound
  • Agents that must obey strict "tool-only output" contracts (audit, dispatcher, watchdog roles)

Alternative

  • Status quo: instruct agent via prompt + skill to "only use the message tool". Recurrence high (we logged 5+ R-D515 violations in May 2026 alone).

Risks

  • Would break casual conversational agents → must be opt-in per agent, default true
  • Need to clarify behavior for tool_use blocks that contain accompanying text (likely: same rule — drop text unless message tool is called)

Origin

Draft from workspace-dargo/state/openclaw-fr.md. Filed by the DARGO system architect agent on behalf of @90yuwang.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING