openclaw - 💡(How to fix) Fix hooks/agent with deliver: false accepts request but never processes agent session [1 participants]

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…
GitHub stats
openclaw/openclaw#59940Fetched 2026-04-08 02:38:33
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0

When sending a POST to /hooks/agent with deliver: false, the gateway returns HTTP 200 with a valid runId, but the agent session is never executed. The session remains in empty status with 0 messages and 0 tool calls.

Root Cause

This was discovered while building a Zoho Cliq ↔ OpenClaw integration. The relay sends deliver: false because it handles response delivery itself (polling the session and forwarding to Cliq). However, since the agent never runs, the relay never gets a response.

Fix Action

Fix / Workaround

Workaround: Setting deliver: true makes the agent process correctly, but then responses are also sent to the default Telegram channel, causing duplicate delivery.

Code Example

curl -X POST http://localhost:3777/hooks/agent \
  -H "Content-Type: application/json" \
  -d '{
    "agent": "main",
    "channel": "cliq",
    "channelId": "quality-audit",
    "message": "Hello from Cliq",
    "from": "cliq:channel:quality-audit",
    "deliver": false
  }'

---

{"runId": "abc123-..."}

---

# Session has 0 messages, 0 tool calls, status: "done" (never started)
RAW_BUFFERClick to expand / collapse

Summary

When sending a POST to /hooks/agent with deliver: false, the gateway returns HTTP 200 with a valid runId, but the agent session is never executed. The session remains in empty status with 0 messages and 0 tool calls.

Steps to reproduce

  1. Send a hooks request with deliver: false:
curl -X POST http://localhost:3777/hooks/agent \
  -H "Content-Type: application/json" \
  -d '{
    "agent": "main",
    "channel": "cliq",
    "channelId": "quality-audit",
    "message": "Hello from Cliq",
    "from": "cliq:channel:quality-audit",
    "deliver": false
  }'
  1. Response is HTTP 200 with a valid runId:
{"runId": "abc123-..."}
  1. Check the session — it stays in empty status:
# Session has 0 messages, 0 tool calls, status: "done" (never started)

Expected behavior

The agent session should be created and processed normally. The deliver: false flag should only suppress the delivery/announcement of the response back to the channel, not prevent the agent from running entirely.

Actual behavior

The gateway accepts the request, returns a success response with a runId, but the agent never processes the session. The session is created but remains empty.

Context

This was discovered while building a Zoho Cliq ↔ OpenClaw integration. The relay sends deliver: false because it handles response delivery itself (polling the session and forwarding to Cliq). However, since the agent never runs, the relay never gets a response.

Workaround: Setting deliver: true makes the agent process correctly, but then responses are also sent to the default Telegram channel, causing duplicate delivery.

Related issues

  • #36325 — deliver: false still injects system event (different but related: in that case the agent does run)
  • #33271 — /hooks/wake silently drops requests with 200 (same pattern: accepts but doesn't process)

Environment

  • OpenClaw gateway (self-hosted, latest as of 2026-04-01)
  • Hook endpoint: /hooks/agent

extent analysis

TL;DR

The issue can be worked around by setting deliver: true and then handling the duplicate delivery, or by investigating and fixing the root cause of why deliver: false prevents the agent session from executing.

Guidance

  • Investigate the OpenClaw gateway code to understand why deliver: false is preventing the agent session from executing, as this flag is intended to only suppress response delivery, not prevent agent execution.
  • Verify that the issue is not related to the integration with Zoho Cliq or the relay's handling of response delivery, by testing the /hooks/agent endpoint with deliver: false in isolation.
  • Consider implementing a temporary workaround, such as setting deliver: true and then filtering out duplicate responses, until the root cause can be fixed.
  • Review related issues #36325 and #33271 to see if there are any common patterns or fixes that can be applied to this issue.

Example

No code snippet is provided as the issue is more related to the functionality of the OpenClaw gateway and its handling of the deliver flag.

Notes

The issue seems to be specific to the OpenClaw gateway and its handling of the deliver flag. The provided workaround of setting deliver: true is not ideal as it causes duplicate delivery, so a more permanent fix is needed.

Recommendation

Apply workaround: setting deliver: true and handling duplicate delivery, as this allows the agent session to execute and provides a temporary solution until the root cause can be fixed.

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…

FAQ

Expected behavior

The agent session should be created and processed normally. The deliver: false flag should only suppress the delivery/announcement of the response back to the channel, not prevent the agent from running entirely.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix hooks/agent with deliver: false accepts request but never processes agent session [1 participants]