Skip to content

[Feature] Configurable thinking/reasoning block format per channel #8913

@lucletoffe

Description

@lucletoffe

Summary

Add a configuration option to customize how thinking/reasoning blocks are formatted per channel.

Problem

On Telegram, reasoning blocks are rendered in italics (_text_), which is hard to read — especially for longer reasoning. The TUI console shows them in green, which is much more visible.

Proposed Solution

Add a config option like:

{
  channels: {
    telegram: {
      thinkingFormat: "code"  // "italic" | "code" | "spoiler"
    }
  }
}

Or at agent level:

{
  agents: {
    defaults: {
      thinkingFormat: "code"
    }
  }
}

Use Cases

  • code: Better readability on mobile (Telegram)
  • spoiler: Collapse reasoning by default, expand on tap
  • italic: Current default, works for short reasoning

Current Behavior

formatReasoningMessage() in pi-embedded-utils.js hardcodes italic formatting.

Environment

  • OpenClaw 2026.2.1
  • Channel: Telegram

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.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.enhancementNew feature or requestissue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions