Bug Description
The OpenClaw message tool fails when sending messages through Discord with a schema validation error:
Validation failed for tool "message": - buttons: must have required property 'buttons'
This makes the native Discord integration completely unusable — any inbound Discord message that triggers a reply results in the error "Something went wrong while processing your request. Please try again, or use /new to start a fresh session."
Environment
- OpenClaw version: 2026.4.12 (1c0672b)
- OS: Ubuntu Linux (kernel 6.8.0-107-generic, x64)
- Node: v22.22.0
- Discord channel: enabled via bot token
- Model: Any (reproduces regardless of model)
Reproduction Steps
- Configure Discord channel with bot token in
openclaw.json
- Enable Discord guild and channel(s)
- Send any message in a configured Discord channel
- OpenClaw receives the message and attempts to reply via the
message tool
- Reply fails with the schema validation error
Workaround
Using the Discord REST API directly via curl works fine:
curl -s -X POST \
-H "Authorization: Bot <TOKEN>" \
-H "Content-Type: application/json" \
-d '{"content":"message"}' \
"https://discord.com/api/v10/channels/<CHANNEL_ID>/messages"
Related Issues
Expected Behavior
The message tool should send a plain text reply to Discord without requiring a buttons property when no interactive components are included.
Bug Description
The OpenClaw
messagetool fails when sending messages through Discord with a schema validation error:This makes the native Discord integration completely unusable — any inbound Discord message that triggers a reply results in the error "Something went wrong while processing your request. Please try again, or use /new to start a fresh session."
Environment
Reproduction Steps
openclaw.jsonmessagetoolWorkaround
Using the Discord REST API directly via curl works fine:
Related Issues
reusable:falseexpires per-button not per-panel, andeditMessagebroken due tomessage/contentfield mismatch #54233 — Discord interactive components brokenExpected Behavior
The
messagetool should send a plain text reply to Discord without requiring abuttonsproperty when no interactive components are included.