anomalyco / anomalyco/opencode
tui: session shows 'done' when a background command finishes while session is still active
@kommander is already working on this.
Since Aug 27, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Summary
When a background command completes (especially after failing), the session
status appears as "done" even though the agent is still actively working —
e.g. waiting on another background task or about to take the next action.
This is misleading: the user sees "done" and thinks the entire session
finished, when in reality the session is still in progress.
Environment
- opencode version: 0.0.0-dev-202608261632
- OS: Darwin 25.6.0 (arm64)
- Terminal: TERM=xterm-256color (TERM_PROGRAM unset)
- Shell: /bin/zsh
- Install/channel: dev build (fix/v2-titlebarright-provider branch)
- Active plugins: @mohak34/opencode-notifier, @nick-vi/opencode-type-inject,
oh-my-openagent, opencode-gemini-auth, opencode-openai-codex-auth,
opencode-wakatime
Reproduction
- Start an opencode session.
- Launch a long-running command in the background (e.g.
pnpm ios). - While it runs, launch a second background command that fails quickly.
- The failed command completes → session status shows "done".
- The first long-running command is still executing, and the agent is
waiting to continue once it finishes.
Expected Behavior
The session-level status should reflect that the session is still active
and working. It should show a running/working state, not "done", as long as
the agent has pending background tasks or is about to take further action.
Actual Behavior
A completed (or failed) background command causes the session to display
"done", even though the session is still in progress with other work
pending.
Additional Context
This caused confusion in practice: a build failed (CocoaPods encoding
error), the session showed "done", but a second build was still running
and the agent was waiting to continue with the next step (running Maestro
E2E tests). The user asked "are you still working?" because the UI said
done.
Ideally the status would aggregate all active work: if any background
command is still running, or the agent is waiting to proceed, the session
should show a working/running state rather than done.
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.
Assessment
This issue has not been assessed yet.