You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[FEATURE]: Support per-message collapsible reasoning blocks in the desktop app (parity with v2 TUI) #54289
Related: #31825, #15257, #28280 (all closed). #31825 was closed as completed because the v2 TUI gained per-message expandable reasoning (#36901, expanded state kept since #48489). The desktop app still lacks this — requesting parity.
Describe the enhancement you want to request
In the v2 TUI, reasoning is shown per message as a "Thought · N steps" row that can be expanded/collapsed individually. The desktop app's session view only offers a global, all-or-nothing toggle (Settings → General → "Show reasoning summaries", off by default):
When off, reasoning content is hidden entirely (only a "Thinking…" status line is shown while the agent works).
When on, every reasoning part is rendered inline as muted markdown and stays fully expanded — there is no way to fold individual blocks without hiding all reasoning globally.
With reasoning models this quickly floods the timeline with long thinking blocks.
Proposed implementation
ReasoningPartDisplay in packages/session-ui/src/components/message-part.tsx currently renders <PacedMarkdown text={...}> directly inside <div data-component="reasoning-part"> with no collapsible wrapper.
Tool parts in the same file already use the Collapsible/Accordion components from @opencode-ai/ui, so a reasoning part could be wrapped the same way (default collapsed, first heading/line as the title — a reasoningHeading() helper already exists in packages/app/src/pages/session/timeline/rows.ts, used for the "Thinking…" status line).
Keep the existing "Show reasoning summaries" setting as the master visibility switch; per-block collapse would only apply when reasoning is shown.
Additional context
The shared conversation page (opencode.ai/s/...) already has a show/hide details toggle for reasoning blocks (packages/web/src/components/share/part.tsx), so the interaction already exists elsewhere in the product — it would be great to bring it to the desktop/web session view.
The code this describes (ReasoningPartDisplay in message-part.tsx, pages/session/timeline/rows.ts and the single "Show reasoning summaries" toggle) is from the v1 desktop app (1.x). v1 now only gets fixes for critical bugs, so this is unlikely to change there.
The good news is that the v2 desktop/web app already does what you're asking for. Each reasoning block is its own collapsible row:
It is collapsed by default.
While it streams, it shows "Thinking" with a live heading.
When it finishes, it shows "Thought" with how long it took.
You can expand or collapse each block separately.
Showing or hiding reasoning is now a timeline detail setting ("thinking") rather than one on/off switch. Please try upgrading to v2 (@opencode/cli).
If you're already on v2 and still see reasoning fully expanded with no way to fold individual blocks, please reply with your opencode --version and a screenshot and we'll take another look.
We haven't heard back, so I'm closing this as not planned.
The behaviour and code this issue describes are from the v1 desktop app, which now only gets fixes for critical bugs. The v2 desktop/web app already shows each reasoning block as its own collapsible "Thinking" / "Thought" row. These rows start collapsed and you can open or close each one separately. The "thinking" timeline detail setting controls whether reasoning is shown at all.
If you upgrade to v2 (@opencode/cli) and still see reasoning fully expanded with no way to fold individual blocks, please open a new issue with your opencode --version and a screenshot. Thanks again for the detailed write-up!
Activity
opencode-agent commentedon Oct 10, 2026
Thanks for the detailed write-up, @shibaby!
The code this describes (
ReasoningPartDisplayinmessage-part.tsx,pages/session/timeline/rows.tsand the single "Show reasoning summaries" toggle) is from the v1 desktop app (1.x). v1 now only gets fixes for critical bugs, so this is unlikely to change there.The good news is that the v2 desktop/web app already does what you're asking for. Each reasoning block is its own collapsible row:
Showing or hiding reasoning is now a timeline detail setting ("thinking") rather than one on/off switch. Please try upgrading to v2 (
@opencode/cli).Related issues:
If you're already on v2 and still see reasoning fully expanded with no way to fold individual blocks, please reply with your
opencode --versionand a screenshot and we'll take another look.opencode-agent commentedon Oct 11, 2026
We haven't heard back, so I'm closing this as not planned.
The behaviour and code this issue describes are from the v1 desktop app, which now only gets fixes for critical bugs. The v2 desktop/web app already shows each reasoning block as its own collapsible "Thinking" / "Thought" row. These rows start collapsed and you can open or close each one separately. The "thinking" timeline detail setting controls whether reasoning is shown at all.
If you upgrade to v2 (
@opencode/cli) and still see reasoning fully expanded with no way to fold individual blocks, please open a new issue with youropencode --versionand a screenshot. Thanks again for the detailed write-up!