openclaw - 💡(How to fix) Fix [Bug] Internal reasoning/thinking blocks leaking to WhatsApp channel adapter [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#68689Fetched 2026-04-19 15:08:37
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Participants

When using reasoning models (e.g., gemini-3.1-pro-low via a proxy or direct API) with the WhatsApp channel, the model's internal "thinking" or reasoning process is emitted as user-visible text before the final response. This happens even when configurations are set to disable it.

Root Cause

When using reasoning models (e.g., gemini-3.1-pro-low via a proxy or direct API) with the WhatsApp channel, the model's internal "thinking" or reasoning process is emitted as user-visible text before the final response. This happens even when configurations are set to disable it.

RAW_BUFFERClick to expand / collapse

Description

When using reasoning models (e.g., gemini-3.1-pro-low via a proxy or direct API) with the WhatsApp channel, the model's internal "thinking" or reasoning process is emitted as user-visible text before the final response. This happens even when configurations are set to disable it.

Expected Behavior

The reasoning process should be filtered out or hidden by the WhatsApp adapter, ensuring only the final response reaches the user. This should hold true especially when agents.defaults.thinkingDefault is set to "off" or reasoning: false is configured for the model in openclaw.json.

Actual Behavior

The reasoning text (often italicized English, outlining the model's internal logic and tool usage plans) streams directly into the WhatsApp chat, prefixing the actual intended response.

Steps to Reproduce

  1. Configure openclaw.json with a reasoning model (e.g., Gemini 3.1 Pro).
  2. Set agents.defaults.thinkingDefault: "off" and reasoning: false for the specific model.
  3. Connect the WhatsApp channel.
  4. Send a complex request or prompt via WhatsApp.
  5. Observe the reasoning stream appearing in the WhatsApp chat before the final answer.

Additional Context

This seems related to the broader "openclaw internal reasoning leaking" issue class. Specifically, it appears the streaming path for the WhatsApp adapter treats "thinking" blocks as normal tokens and fails to enforce "final-only" output for text-only channels.

Attempting to work around this by forcing stream: false at the proxy level causes the OpenClaw client to hang/fail, meaning the filtering must be implemented securely within the OpenClaw adapter logic.

extent analysis

TL;DR

The WhatsApp adapter needs to filter out the reasoning process text by treating "thinking" blocks differently and enforcing "final-only" output for text-only channels.

Guidance

  • Review the OpenClaw adapter logic for the WhatsApp channel to ensure it correctly handles "thinking" blocks and enforces "final-only" output when agents.defaults.thinkingDefault is set to "off" or reasoning: false is configured.
  • Verify that the openclaw.json configuration is correctly parsed and applied to the WhatsApp channel, especially the settings related to reasoning and thinking defaults.
  • Investigate the streaming path for the WhatsApp adapter to identify why it treats "thinking" blocks as normal tokens and fails to filter them out.
  • Consider implementing a temporary workaround by modifying the WhatsApp adapter to manually filter out "thinking" blocks before sending the response to the user.

Example

No code snippet is provided due to the lack of specific implementation details in the issue.

Notes

The solution may require changes to the OpenClaw adapter logic or the WhatsApp channel configuration. It is essential to test any changes thoroughly to ensure they do not introduce new issues or affect other channels.

Recommendation

Apply a workaround by modifying the WhatsApp adapter to filter out "thinking" blocks, as upgrading to a fixed version is not mentioned in the issue. This approach allows for a targeted solution to the specific problem without relying on a potentially unavailable fixed version.

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