Skip to content

[FEATURE]: Clarify session timing in the UI, especially when subagents are used #22959

@coygeek

Description

@coygeek

Summary

The timing shown at the end of a session becomes hard to understand once subagents are involved.

I tested this because I thought subagent time might be missing from the parent session's time. After checking the behavior more closely, it seems the bigger problem is not that time is missing, but that the UI does not clearly explain what each time value means.

What the UI feels like today

When there are no subagents, the timing feels straightforward:

  • you ask for something
  • the assistant works
  • the session ends
  • the time at the bottom feels like "how long that took"

When subagents are involved, the UI becomes much less clear:

  • the parent session has its own time
  • the subagent has its own time
  • tool calls may also have their own timing
  • it is not obvious whether these times are separate, overlapping, or included inside each other

That makes it easy to think some time is being dropped, or that the total is wrong.

Simple example without subagents

What the UI seems to show:

  • one main session
  • one visible duration

What is actually happening:

  • one assistant is doing the work directly
  • the displayed time mostly matches what a user expects as "how long this took"

This case is easy to understand.

Simple example with subagents

What the UI seems to show:

  • the main session has a duration
  • the subagent task also has a duration

What a user may assume:

  • the main session took X
  • the subagent took Y
  • maybe the real total should be X + Y

What seems to actually be happening:

  • the parent session waits while the subagent works
  • the subagent duration is happening inside the parent session's duration
  • but the UI does not make that relationship obvious

So the user sees two times, but not a clear explanation of how they relate.

Why this is confusing

From a user point of view, the question is simple:

"How long did this whole thing take?"

Right now, the UI appears to show pieces of that answer, but not in a clearly labeled way.

Especially with subagents, it is hard to tell the difference between:

  • total session time
  • parent assistant time
  • subagent time
  • tool execution time

Suggested improvement

At the end of a session, make the labels much clearer.

For example, something like:

  • Total session elapsed
  • Main assistant duration
  • Subagent duration
  • Tool runtime

Even if not all of these are shown, the UI should make it obvious whether subagent time is:

  • included in the parent time
  • separate from the parent time
  • overlapping with other displayed times

Expected

A user should be able to glance at the bottom of the session and immediately understand:

  • how long the whole session took
  • how long subagent work took
  • whether the subagent time is already included in the main session time

Actual

When subagents are used, the timing is easy to misread. It is not obvious what the displayed durations represent or how they relate to each other.

Why this matters

OpenCode makes subagents a visible part of the workflow, so timing becomes part of the user experience.

If the meaning of the timings is unclear, users can easily think:

  • time is missing
  • totals are wrong
  • subagent work is not being counted properly

Clearer labeling would make the session summary much easier to trust.

Metadata

Metadata

Assignees

Labels

coreAnything pertaining to core functionality of the application (opencode server stuff)

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions