anomalyco / anomalyco/opencode

tui: session shows 'done' when a background command finishes while session is still active

Open
#45,560 0 comments 0 reactions 1 assignee View on GitHub

@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

  1. Start an opencode session.
  2. Launch a long-running command in the background (e.g. pnpm ios).
  3. While it runs, launch a second background command that fails quickly.
  4. The failed command completes → session status shows "done".
  5. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.