# NousResearch/hermes-agent · Desktop reasoning/thinking widget rendering and streaming bugs

## Open now

- 1 issue, 2 PRs open on GitHub.
- #47165: Desktop: reasoning.available ignored after assistant text exists, appears after reload
- PR #47183: fix(desktop): show late available reasoning
- PR #71930: fix(desktop): preserve streamed reasoning on late fallback

These issues and fixes concern how the desktop client handles streamed reasoning text in the thinking widget, including truncation, late availability, and preservation of reasoning content across various display states.

## TL;DR

- 5 member(s): 1 open issue(s), 1 closed issue(s), 2 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.44`: 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

- #47165: Desktop: reasoning.available ignored after assistant text exists, appears after reload

## Closed / duplicate issues

- #64995: Desktop: reasoning.available replace truncates streamed reasoning to 500 chars, causing thinking disclosure to re-render from scratch

## Prior & competing PRs

- **#47183: fix(desktop): show late available reasoning**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `086343854dbf723acfc529d2580c260cc3713d0b`
  - files: `apps/desktop/src/app/session/hooks/use-message-stream.test.ts`, `apps/desktop/src/app/session/hooks/use-message-stream.ts`
- **#65432: fix(desktop): preserve streamed reasoning on late fallback**. closed without merge
  - maintainer direction: category `silent_close`; implication `active`
- **#71930: fix(desktop): preserve streamed reasoning on late fallback**. open
  - maintainer direction: category `partial_fix`; implication `needs_llm`; refs `16e3af8c816d`, `#64995`, `#71930`, `#65432`, `#374151`
  - files: `agent/conversation_loop.py`, `apps/desktop/src/app/session/hooks/use-message-stream.test.ts`, `apps/desktop/src/app/session/hooks/use-message-stream/gateway-event.ts`, `apps/desktop/src/app/session/hooks/use-message-stream/index.ts`, `apps/desktop/src/app/session/hooks/use-message-stream/reasoning-available-event.test.tsx`, `tests/agent/test_reasoning_available.py`

## Fix status

- No merged fix on record.
- Subsystem: `apps/desktop`
