TUI: make "Worked for" cumulative since last user prompt (not per separator/status lifecycle)

Resolved 💬 2 comments Opened Mar 6, 2026 by vjain419 Closed May 2, 2026

What feature would you like to see?

Add an explicit cumulative elapsed timer for the current turn: time since the last user prompt.

Today, Worked for appears to be based on delta timing between separators/status lifecycle events, which can reset during normal UI transitions (e.g. agent switches, status hide/restore, background task transitions).

Problem

For long-running tasks, users interpret Worked for as total elapsed work time for the turn. In practice it can show a much smaller value (example: expecting ~1h but seeing ~13m), which is confusing and undermines trust in progress reporting.

Current behavior (as implemented)

  • Separator timing uses delta from previous separator, not total turn elapsed.
  • Status timer can reset when status widget is dropped/recreated.
  • Streaming intentionally hides/restores status row, which can trigger recreate/reset paths.
  • Existing tests encode this reset behavior as expected.

Proposed behavior

  • Worked for should show cumulative elapsed since the most recent user message in that thread/turn.
  • It should not reset on:
  • agent switch
  • status hide/show
  • background/foreground transitions
  • separator insertion / chunk boundaries

Optional UX refinement

If maintainers still want per-step/per-chunk timing, keep both:

  • Worked for = cumulative (primary)
  • optional secondary per-step duration in detailed views

Why this matters

This gives users a reliable answer to: “How long has Codex been working on my current request?”

Acceptance criteria

  1. Worked for is monotonic within a turn and anchored to last user prompt timestamp.
  2. Switching agents does not reduce/reset displayed elapsed time.
  3. Background task transitions do not reduce/reset displayed elapsed time.
  4. Streaming/status row hide+restore does not reduce/reset displayed elapsed time.
  5. Tests cover these scenarios.

Additional information

This request is about display semantics and user trust in progress timing, not model/runtime throughput itself.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗