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
web: main agent does not surface running or stuck subagents #51113
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
Open the OpenCode Web interface and start a main agent task.
From the main agent, launch a subagent that continues running or is waiting on a long-running operation.
Remain on the main agent view while the subagent is active or appears stuck.
Look for an indication of the subagent’s status in the main agent view.
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.
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
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).
Check the session details view for an overview/list of child sessions.
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.
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.
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.
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.
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.
Activity
reisi007 commentedon Oct 5, 2026
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
/usr/local/bin/opencode serve --hostname 0.0.0.0 --port 8080; update API also reports 2.0.23 as latest)Reproduction
generalsubagents).GET /api/session?parentID=<parent-ses-id>returns the children (verified: 20 children for one parent, agentsgeneral).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
/subagentsroute — only the child-session view (session.child.backToParent), the running indicator ({{count}} running,Interrupt subagent), and the timeline categorysubagents. Timeline preset was checked and is not the cause.Additional Context
GET /api/session?parentID=ses_...→ 20 items withparentIDset;GET /api/session/activeworks.parentID.reisi007 commentedon Oct 7, 2026
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.PestoAddict commentedon Oct 7, 2026
Data point for 2.0.23: a wedged subagent never surfaced to the parent.
The parent's
subagenttool call was backgrounded. The child session then stayed inrunningfor 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/activedid show the session asrunningwith frozentokens.outputthe whole time, so the signal was available if something had been watching it.RateteDev commentedon Oct 15, 2026
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.
opencodejr commentedon Oct 28, 2026
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: