Problem
When models emit thinking/reasoning blocks (e.g., Anthropic extended thinking, <think> tags), Slack sessions stream the raw reasoning text inline with the response. This creates long, verbose messages that obscure the actual answer.
Desired Behavior
Render thinking/reasoning content as collapsible sections in Slack messages — similar to how Cursor shows reasoning in a collapsed "Thinking..." block that users can click to expand.
Slack supports this via:
- Block Kit attachments with expandable content
context blocks for metadata
- Collapsible rich text sections
Implementation Notes
This lives in the Slack provider's outbound message rendering pipeline — the same area as thread context handling (prepare.ts, Slack message formatting). Thinking blocks are already parsed and separated from response content; the change is in how they're presented rather than discarded.
Approach options:
- Slack attachment — render thinking as a collapsed attachment with a summary line
- Block Kit — use Slack's rich text blocks with a disclosure pattern
- Separate message — post thinking as a threaded reply to the main response (most native)
Related
🤖 AI-assisted (Claude via OpenClaw). Author understands the proposed changes and Slack API constraints.
Problem
When models emit thinking/reasoning blocks (e.g., Anthropic extended thinking,
<think>tags), Slack sessions stream the raw reasoning text inline with the response. This creates long, verbose messages that obscure the actual answer.Desired Behavior
Render thinking/reasoning content as collapsible sections in Slack messages — similar to how Cursor shows reasoning in a collapsed "Thinking..." block that users can click to expand.
Slack supports this via:
contextblocks for metadataImplementation Notes
This lives in the Slack provider's outbound message rendering pipeline — the same area as thread context handling (
prepare.ts, Slack message formatting). Thinking blocks are already parsed and separated from response content; the change is in how they're presented rather than discarded.Approach options:
Related
🤖 AI-assisted (Claude via OpenClaw). Author understands the proposed changes and Slack API constraints.