fix(whatsapp): suppress reasoning/thinking content from WhatsApp delivery#24962
Merged
steipete merged 2 commits intoopenclaw:mainfrom Feb 24, 2026
Merged
fix(whatsapp): suppress reasoning/thinking content from WhatsApp delivery#24962steipete merged 2 commits intoopenclaw:mainfrom
steipete merged 2 commits intoopenclaw:mainfrom
Conversation
d818f96 to
a2c0cb5
Compare
steipete
added a commit
to Sid-Qin/openclaw
that referenced
this pull request
Feb 24, 2026
…4962) (thanks @SidQin-cyber)
…very The deliver callback in process-message.ts was forwarding all payload kinds (tool, block, final) to WhatsApp. Block payloads contain the model's reasoning/thinking content, which should only be visible in the internal web UI. This caused chain-of-thought to leak to end users as separate WhatsApp messages. Add an early return for non-final payloads so only the actual response is delivered to the WhatsApp channel, matching how Telegram already filters by info.kind === "final". Fixes openclaw#24954 Fixes openclaw#24605 Co-authored-by: Cursor <cursoragent@cursor.com>
…4962) (thanks @SidQin-cyber)
a2c0cb5 to
4603566
Compare
Contributor
|
Landed via temp rebase onto main.
Thanks @SidQin-cyber! |
Contributor
|
AI-assisted stale triage closure (fix-only duplicate sweep). This PR overlaps with #24991 for #24954 (suppress reasoning/thinking leakage on WhatsApp/non-Telegram channels). #24991 is the active path for this fix scope. Closing this duplicate as AI-closed. Reopen guidance:
|
sagarsaija
pushed a commit
to sagarsaija/openclaw
that referenced
this pull request
Feb 24, 2026
…4962) (thanks @SidQin-cyber)
plgs2005
pushed a commit
to plgs2005/openclaw
that referenced
this pull request
Feb 24, 2026
…4962) (thanks @SidQin-cyber)
abdelkadermeflahi6-web
referenced
this pull request
Feb 24, 2026
abdelkadermeflahi6-web
referenced
this pull request
Feb 24, 2026
margulans
pushed a commit
to margulans/Neiron-AI-assistant
that referenced
this pull request
Feb 25, 2026
…4962) (thanks @SidQin-cyber)
brianleach
pushed a commit
to brianleach/openclaw
that referenced
this pull request
Feb 26, 2026
…4962) (thanks @SidQin-cyber)
2 tasks
mylukin
pushed a commit
to mylukin/openclaw
that referenced
this pull request
Feb 26, 2026
…4962) (thanks @SidQin-cyber)
r4jiv007
pushed a commit
to r4jiv007/openclaw
that referenced
this pull request
Feb 28, 2026
…4962) (thanks @SidQin-cyber)
6 tasks
zooqueen
pushed a commit
to hanzoai/bot
that referenced
this pull request
Mar 6, 2026
…4962) (thanks @SidQin-cyber)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
delivercallback inprocess-message.tsforwarded all payload kinds (tool, block, final) to WhatsAppblockpayloads contain the model's reasoning/thinking content, which should only be visible in the internal web UIThe fix adds an early return for non-final payloads, matching how Telegram already filters by
info.kind === "final".Changes
src/web/auto-reply/monitor/process-message.ts— skip delivery forinfo.kind !== "final"Test plan
thinkingDefault: "low") and send a message via WhatsApp — only the final response should appearFixes #24954
Fixes #24605
Made with Cursor
Greptile Summary
Fixes a bug where the WhatsApp
delivercallback inprocess-message.tsforwarded all payload kinds (tool,block,final) to WhatsApp, causing chain-of-thought/reasoning content to leak to end users as separate messages. The fix adds an early return forinfo.kind !== "final", consistent with the repository's policy that only final replies should be delivered to external messaging surfaces. Dead code paths for tool and block payloads are correctly cleaned up.skipLog(hardcodedfalse) andshouldLog(no longer needs kind check) since only final payloads reach the delivery codeConfidence Score: 5/5
Last reviewed commit: d818f96
Context used:
dashboard- CLAUDE.md (source)