Repository navigation
Description
Summary
Since the task/subagent progress redesign (~1.2.16, carried unchanged into V2), the TUI task row no longer shows which agent or which model is running a subagent — only the short description label. With multiple custom subagents pinned to different models (local and cloud), it is impossible to tell at a glance which model a dispatch is using. Pre-redesign V1 showed the agent type on the row.
Related: #15915 (closed automatically as "not planned" in July 2026 after no fix; behavior still present in 2.1.2), #16287 (follow-up proposing agent name + session ID suffix).
Environment
- opencode version: 2.1.2
- OS: Linux 7.0.0-38-generic (Ubuntu, x64)
- Terminal: xterm-256color, COLORTERM=truecolor
- Shell: /bin/bash
- Install/channel: latest
- Active plugins: none (no plugin files configured; a leftover V1
@opencode-ai/pluginpackage dependency exists in the global config dir but loads nothing)
Reproduction
- Define two custom subagents with different models, e.g.
~/.config/opencode/agents/coder.mdpinned to a cloud model and~/.config/opencode/agents/coder-local.mdpinned to a local model. - From a primary-agent session, dispatch work to each subagent via the
subagenttool. - Observe the task progress row in the full-screen TUI while running and after completion.
Expected Behavior
The task row identifies the agent and/or model, e.g. Explore: <description> as in pre-redesign V1, or a suffix like coder-local · qwen3.8 [d822ff] (per #16287). In mixed local/cloud subagent setups the model identity per row is the load-bearing detail.
Actual Behavior
The row shows only [Task <short description>] plus N toolcalls · duration — no agent type, no model. Applies to in-progress and completed foreground tasks alike.
Additional Context
- Regression window: introduced by the task/subagent progress redesign around v1.2.16 per Task/subagent progress display no longer shows agent name (e.g. Explore, General) #15915; never restored; present in 2.1.2.
- Impact scales with the number of configured models: in mixed local/cloud setups the transcript gives zero indication whether a dispatch hit the local or the remote model, or what it cost.
- Current workaround: encode agent + model into the subagent call's
descriptionlabel (e.g.coder-local · qwen3.8 — implement fix), since that label is the only user-visible metadata on the row. Works, but relies on the parent agent's labeling discipline rather than the UI. - Happy to test a fix; running mixed local + cloud subagent fleets.
Activity
opencode-agent commentedon Oct 21, 2026
Thanks for the detailed write-up, and for offering to test.
I checked the v2 TUI code at
v2.1.2. The subagent row there already includes the agent name: it renders as<Agent> Subagent — <description>, e.g.Coder-local Subagent — implement fix. The[Task <description>]/N toolcalls · durationrow you describe is the v1 layout from #15915. If you still see that exact format on 2.1.2, could you share a screenshot and the output ofopencode --version?The model part is a real gap, though. The row adds
· <model>only when thesubagentcall passes amodelexplicitly. A model pinned in the agent's own config (as in yourcoder.md/coder-local.mdsetup) is not shown. I'm tracking this as a feature request: show the model each subagent actually runs on, including one inherited from its agent config, directly on the transcript row. Maintainers will consider it.Related issues and PRs:
This can't be done as a plugin for now, because TUI plugins can't change how tool rows are rendered.
Tarquinen commentedon Nov 2, 2026
Thanks for the report! On v2 the subagent row already shows the agent name, and the format described here is from v1. Since we haven't heard back, I'm closing this issue. If you still see it on the latest version, please open a new issue with a screenshot and your version.
— from 𝕺𝖕𝖊𝖓𝕮𝖔𝖉𝖊