Skip to content

Android: LLM thinking/reasoning blocks rendered as separate chat messages #87918

Description

@Iman-Sharif

Description

In the OpenClaw Android app, the assistant's internal reasoning/thinking content (the thinking block emitted before the final response) is being rendered as separate, visible chat messages in the conversation view. This appears as one or more message bubbles containing raw JSON, internal notes, and partial tool call details.

Users should never see this content — it should either be hidden entirely or collapsed behind a "show thinking" toggle.

Example of what the user sees as separate messages:

  • Internal reasoning text (e.g. "Manifest is healthy. The timeouts are likely...")
  • Raw JSON from tool call parameters (e.g. job IDs, session keys, delivery configs)

Environment

  • Device: Pixel 8a
  • App: OpenClaw Android
  • Model: manifest/gpt-5.5 (with thinking enabled on gateway side)

Expected behaviour

  • Thinking/reasoning content should not appear as visible messages in the chat
  • Only the final assistant response should be rendered

Actual behaviour

  • Thinking blocks appear as separate message bubbles
  • Raw tool call JSON is sometimes visible
  • This leaks internal reasoning and API details to the user

Suggested fix

Filter out type: thinking message parts and tool-call details from the rendered conversation. Only render type: text content from assistant messages. If thinking visibility is desired, hide it behind a collapsible UI element.

Metadata

Metadata

Assignees

Labels

P1High-priority user-facing bug, regression, or broken workflow.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

Type

No type

Fields

Priority

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions