Skip to content

web: main agent does not surface running or stuck subagents #51113

Open

Description

@reisi007

Summary

The main agent view in OpenCode Web does not indicate when a child/subagent is still running or stuck. The state is only discoverable by navigating to the subagents page, which makes it easy to miss that work is blocked or waiting.

Update 2026-10-07 (mobile only): on desktop the subagents are shown next to the session title; the mobile view does not show them there. Scope of this ticket is therefore the mobile view.

Environment

  • opencode version: 2.0.16
  • OS: Linux 5.14.0-687.49.1.el9_8.x86_64 (linux x64)
  • Terminal: xterm-256color
  • Shell: Unavailable: shell environment variable is not set
  • Install/channel: latest
  • Active plugins: none found in config

Reproduction

  1. Open the OpenCode Web interface and start a main agent task.
  2. From the main agent, launch a subagent that continues running or is waiting on a long-running operation.
  3. Remain on the main agent view while the subagent is active or appears stuck.
  4. Look for an indication of the subagent’s status in the main agent view.
  5. Mobile only: open the same parent session in the mobile view — the subagents shown on desktop next to the session title are not shown there.

Expected Behavior

The main agent view should visibly indicate that one or more subagents are running, waiting, or potentially stuck, without requiring navigation to the subagents page. On mobile, the subagents shown on desktop next to the session title should be visible as well.

Actual Behavior

The main agent view provides no indication that a subagent is running or stuck. The user must open the subagents page to see the child agent and its status. On mobile, even the subagents shown on desktop next to the session title are missing.

Additional Context

This affects the OpenCode Web experience specifically. A manual status indicator or link from the main agent view to the relevant subagent would make blocked work apparent.

Activity

  1. reisi007 commented on Oct 5, 2026

    @reisi007
    Author

    Follow-up on 2.0.23 (remote-code, opencode serve): the subagents overview is now completely gone from the session details, not just the main-view indicator.

    Environment

    • opencode version: 2.0.23 (serve, PID 1, /usr/local/bin/opencode serve --hostname 0.0.0.0 --port 8080; update API also reports 2.0.23 as latest)
    • OS: Linux 5.14.0-687.53.1.el9_8.x86_64 (linux x64, container)
    • Terminal: xterm-256color
    • Shell: /bin/bash
    • Install/channel: latest
    • Active plugins: none found in config

    Reproduction

    1. Open the OpenCode web UI on the remote host and open a parent session that has child sessions (e.g. a session that launched general subagents).
    2. Check the session details view for an overview/list of child sessions.
    3. Compare with the API: GET /api/session?parentID=<parent-ses-id> returns the children (verified: 20 children for one parent, agents general).

    Expected Behavior

    Session details should show a total overview of the session's subagents (children), without having to guess via timeline filters.

    Actual Behavior

    No children overview in the session details. The shipped web bundle (2.0.23) has no /subagents route — only the child-session view (session.child.backToParent), the running indicator ({{count}} running, Interrupt subagent), and the timeline category subagents. Timeline preset was checked and is not the cause.

    Additional Context

    • API proof (serve, authenticated): GET /api/session?parentID=ses_... → 20 items with parentID set; GET /api/session/active works.
    • Consistent on 2.0.23, not intermittent.
    • Workaround: query the API directly with parentID.
  2. reisi007 commented on Oct 7, 2026

    @reisi007
    Author

    Correction to my follow-up above: on desktop the subagents are shown next to the session title; the mobile view does not show them there. I amended the issue body accordingly (mobile scope + mobile repro step). Backend is fine on 2.0.23 — GET /api/session?parentID=<parent> still returns the children.

  3. PestoAddict commented on Oct 7, 2026

    @PestoAddict

    Data point for 2.0.23: a wedged subagent never surfaced to the parent.

    The parent's subagent tool call was backgrounded. The child session then stayed in running for 68 min (86 s of actual model time) and no completion or failure notification ever reached the parent — the parent only found out when the user asked about the delay.

    Root cause of the wedge was a failed drain with an upstream provider error (AI.Error: Upstream request failed ...), see #50775. The child was wedged and could not report anything itself, so only the parent or the client could have noticed; neither did. /api/session/active did show the session as running with frozen tokens.output the whole time, so the signal was available if something had been watching it.

  4. RateteDev commented on Oct 15, 2026

    @RateteDev

    Can reproduce on the mobile web UI (Android Chrome, 2.0.26): with the main session open there is no running indicator next to the title, and the subagent session page has no stop control either, so there is no way to stop a background subagent from a phone — I had to stop it via the API. Desktop width works as described, so this looks like a mobile-layout gap.

  5. opencodejr commented on Oct 28, 2026

    @opencodejr

    Thanks for the report, @reisi007! You're asking for the main session view to show, on mobile as well, when subagents are still running or might be stuck, so you don't have to open the subagents page to find out.

    Version 2.0.16 had no such indicator in the main view. Newer versions (v2.2.0 and later) have a background-activity capsule above the composer in the parent session. It lists running subagents and background shells, and you can open or stop each one from there. It can be turned on or off with the background activity setting in Settings → General. Could you update and check whether it covers your case on mobile too? If something is still missing, for example a clear sign that a subagent is stuck rather than just running, please reply here and maintainers will consider it.

    Related issues:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions