[Bug]: OpenCode working/tool-call/thinking activity is not folded; sidebar working indicator is a miss or hit
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Closest related issues (not duplicates):
- #8822 asks to surface OpenCode thinking tokens (opposite direction).
- #8946 is about plan/background/subagent rows never folding — not OpenCode working/tool/thinking commentary.
- #8879 / #7518 / #7529 are about folding hiding too much of the answer.
Area
apps/web
Steps to reproduce
- Start a thread with the OpenCode provider.
- Send a prompt that causes multiple tool calls (e.g. fetch PR comments, run several shell commands).
- Watch the chat timeline while the turn is running.
- Watch the thread row in the sidebar during that first turn.
- Send a second message in the same thread and watch the sidebar again.
Expected behavior
- Intermediate working commentary, thinking, and tool-call rows collapse / stay folded (behind the usual working / "Worked for …" treatment) so the timeline is not a wall of in-progress narration.
- The sidebar thread row shows the working indicator (spinner + "Working Ns") for the whole time OpenCode is running, including the first message of the thread.
Actual behavior
Two regressions, both OpenCode-specific:
-
Working / tool-calling / thinking is no longer hidden. Every intermediate assistant line and tool row stays fully visible in the timeline, e.g. "I'll pull the latest PR comments…",
Ran 4 commands, "The API output was truncated…",Ran 2 commands, etc. This used to be folded away. -
Sidebar working indicator is missing on the first message. During the first turn the thread row shows only the title, relative time (
now), and the OP badge — no spinner. After sending a second message, the indicator starts showing (Working 8s).
Impact
Major degradation or frequent failure
Chat is noisy for every OpenCode tool-using turn, and the sidebar looks idle on the first message even though the agent is working.
Version or commit
T3 Code (Nightly) 0.0.39-nightly.20260902.1256
Environment
macOS 26.5.1 (Build 25F80), Apple Silicon (arm64), T3 Code (Nightly) desktop, OpenCode CLI 1.18.25.
Logs or stack traces
Screenshots, recordings, or supporting files
1. Chat timeline — working / tool-call / thinking commentary all left expanded (not folded):
The settled/running OpenCode turn shows each progress note and Ran N commands row inline instead of collapsing them.
2. Sidebar during the first message — no working symbol:
Thread row for temp / "Hide OpenCode Tool Activity" shows now + OP badge only. No spinner.
3. Sidebar after the second message — working indicator appears:
Same thread row now shows Working 8s with the spinner. This only started after the 2nd message.
Workaround
None. Expand/collapse is not available for these OpenCode rows; sidebar stays idle until a later turn.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/web by reproducing the OpenCode provider flow with multiple tool calls, comparing the first and second messages in the timeline and sidebar. Trace the rendering paths for working, thinking, and tool-call rows and the thread working indicator; done means intermediate activity is folded and the sidebar shows Working throughout the first turn.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100