openclaw - ✅(Solved) Fix [Bug]: error [tools] message failed: Poll fields require action "poll"; use action "poll" instead of "send". [1 pull requests, 1 comments, 2 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#48870Fetched 2026-04-08 00:51:40
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Author
Participants
Timeline (top)
labeled ×2commented ×1cross-referenced ×1

After receiving the task, openclaw judges that it needs to reply to text and images, and when it returns the message, it will prompt this error 'error' [tools] message failed: Poll fields require action "poll"; use action "poll" instead of "send".' and has been looping indefinitely, causing the gateway to get stuck and can only be restarted

Error Message

After receiving the task, openclaw judges that it needs to reply to text and images, and when it returns the message, it will prompt this error 'error' No reply, the gateway is stuck, and the logs keep printing the same error

Root Cause

After receiving the task, openclaw judges that it needs to reply to text and images, and when it returns the message, it will prompt this error 'error' [tools] message failed: Poll fields require action "poll"; use action "poll" instead of "send".' and has been looping indefinitely, causing the gateway to get stuck and can only be restarted

Fix Action

Fixed

PR fix notes

PR #52141: fix(message): ignore zero-valued poll defaults in send path

Description (problem / solution / changelog)

Fixes #52118.

Summary

  • treat zero-valued numeric poll params as unset in hasPollCreationParams()
  • keep non-zero numeric poll params as poll intent
  • add regression coverage for message.send with zero-valued poll defaults present

Why

message.send currently rejects normal send/file operations when callers include poll numeric defaults like:

  • pollDurationHours: 0
  • pollDurationSeconds: 0

Those zero values are currently interpreted as poll creation intent, which is too broad for send-path validation.

Changes

  • src/poll-params.ts
    • numeric poll params now count as poll intent only when non-zero
  • src/poll-params.test.ts
    • update helper expectations for 0 / "0"
  • src/infra/outbound/message-action-runner.plugin-dispatch.test.ts
    • add regression test proving send still uses the send path when zero-valued poll defaults are present

Validation

Ran targeted tests:

  • src/poll-params.test.ts
  • src/infra/outbound/message-action-runner.plugin-dispatch.test.ts

Both passed locally.

Related

Related: #48928 #51830 #48870 #48730 #42820 #43015

Changed files

  • src/infra/outbound/message-action-runner.plugin-dispatch.test.ts (modified, +60/-0)
  • src/poll-params.test.ts (modified, +5/-2)
  • src/poll-params.ts (modified, +6/-3)
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Summary

After receiving the task, openclaw judges that it needs to reply to text and images, and when it returns the message, it will prompt this error 'error' [tools] message failed: Poll fields require action "poll"; use action "poll" instead of "send".' and has been looping indefinitely, causing the gateway to get stuck and can only be restarted

Steps to reproduce

  1. send msg to openclaw
  2. wait for response
  3. no response ever
  4. The logs are always printed indefinitely

Expected behavior

Reply text + picture at once, or split picture and text into multiple messages, both of which are fine

Actual behavior

No reply, the gateway is stuck, and the logs keep printing the same error

OpenClaw version

2026.3.13

Operating system

OpenCloudOS 9.4 x86_64(Py3.7.16)

Install method

No response

Model

gpt-5.2

Provider / routing chain

openclaw -> gpt5.2

Config file / key location

No response

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

extent analysis

Fix Plan

To resolve the issue, we need to modify the action type in the OpenClaw configuration to use "poll" instead of "send" when replying to messages with text and images.

  • Update the OpenClaw configuration to use the correct action type:
    • Set action_type to "poll" in the openclaw.cfg file.
  • Modify the message handling code to handle both text and images:
    • Use a conditional statement to check the message type and send the response accordingly.

Example code snippet:

if message_type == "text":
    # Send text response
    response = {"action": "poll", "type": "text", "content": text_response}
elif message_type == "image":
    # Send image response
    response = {"action": "poll", "type": "image", "content": image_response}
else:
    # Handle both text and images
    response = {"action": "poll", "type": "both", "content": {"text": text_response, "image": image_response}}
  • Restart the OpenClaw service to apply the changes.

Verification

To verify that the fix worked, send a message to OpenClaw and check if the response is received correctly. The logs should no longer print the error message, and the gateway should not get stuck.

Extra Tips

  • Make sure to update the OpenClaw configuration file correctly to avoid any syntax errors.
  • If the issue persists, check the logs for any other error messages that may indicate a different problem.

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

Reply text + picture at once, or split picture and text into multiple messages, both of which are fine

Still need to ship something?

×6

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

Back to top recommendations

TRENDING