# NousResearch/hermes-agent · Reasoning/thinking content display in gateway streaming

## Open now

- 4 issues, 4 PRs open on GitHub.
- #5892: \[Bug\]: Native Anthropic extended-thinking not displayed by show_reasoning (content blocks not walked)
- #7251: \[Bug\]: Telegram streaming hides reasoning even with display.show_reasoning enabled
- #7368: \[Feature\]: Stream thinking/reasoning content on Telegram with collapsible blockquote
- #50193: \[Bug\]: show_reasoning 💭 block never reaches Telegram — last_reasoning is None in gateway even though reasoning is stored in DB
- PR #7369: feat(gateway): stream reasoning as collapsible blockquote on Telegram
- PR #50609: fix(gateway): reconcile previewed final responses
- PR #57693: fix(gateway): reasoning display is silently lost on every streamed turn
- PR #93672: fix(gateway): deliver the reasoning block when streaming already sent the body

These issues and PRs concern bugs and features around how reasoning or chain-of-thought content (think blocks, Anthropic thinking blocks) is filtered, preserved, and displayed to users on platforms like Telegram during and after streaming. Topics include content leaking, content being silently dropped, and adding configurable collapsible display of reasoning output.

## TL;DR

- 11 member(s): 4 open issue(s), 2 closed issue(s), 4 open PR(s), 0 merged PR(s), 1 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_PARTIAL`): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
- Members outside that structural core may belong to a different underlying problem.
- Pairwise link density `0.15`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #5892: \[Bug\]: Native Anthropic extended-thinking not displayed by show_reasoning (content blocks not walked)
- #7251: \[Bug\]: Telegram streaming hides reasoning even with display.show_reasoning enabled
- #7368: \[Feature\]: Stream thinking/reasoning content on Telegram with collapsible blockquote
- #50193: \[Bug\]: show_reasoning 💭 block never reaches Telegram — last_reasoning is None in gateway even though reasoning is stored in DB

## Closed / duplicate issues

- #9685: GatewayStreamConsumer._clean_for_display does not filter <think> blocks — reasoning content leaks to chat platforms during streaming
- #42008: \[Bug\]: Reasoning/CoT silently dropped in gateway streaming mode — architectural gap

## Prior & competing PRs

- **#7433: fix(gateway): show reasoning on Telegram when streaming is enabled**. closed without merge · fix tier `suggested`
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `8a9bc38c2e72`, `#7433`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#7369: feat(gateway): stream reasoning as collapsible blockquote on Telegram**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `gateway/run.py`, `gateway/stream_consumer.py`
- **#50609: fix(gateway): reconcile previewed final responses**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `#50193`
  - files: `gateway/run.py`, `tests/gateway/test_duplicate_reply_suppression.py`, `tests/gateway/test_run_progress_topics.py`
- **#57693: fix(gateway): reasoning display is silently lost on every streamed turn**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `gateway/run.py`, `tests/gateway/test_streamed_reasoning_fold.py`
- **#93672: fix(gateway): deliver the reasoning block when streaming already sent the body**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#83893`
  - files: `gateway/run.py`, `tests/gateway/test_trailing_reasoning_delivery.py`

## Fix status

- No merged fix on record.
- Subsystem: `gateway`
