Glad you got it sorted. And yep, you can pull that kind of breakdown yourself via the SDK.
run.stream() in @cursor/sdk gives you a typed event stream while the run is happening, not just the final text. It includes everything you need to understand what the agent did and where the time went:
tool_call- tool name (edit_file,run_terminal_cmd,taskfor delegating to sub-agents, etc.),status(running/completed/error), plusargsandresultthinking- includesthinking_duration_msassistant- text stepsusage- token usagestatus- run lifecycle (CREATING/RUNNING/FINISHED/etc.)
If you add your own timestamp when you receive each event, you get a per-step timeline. You can see which tool calls and sub-agents ran and how long each one took. That’s exactly how those two 20+ minute computerUse stretches in Task 60 would show up. There’s an example of streaming events into a transcript in the SDK docs: Cursor TypeScript SDK | Cursor Documentation
Under the hood, it’s an SSE stream GET /v1/agents/{id}/runs/{runId}/stream with resume via Last-Event-ID, so you can continue if the connection drops.
What’s missing today is a single ready-made summary that includes per-step durations, number of files and lines changed, and cost in one field. For now, you need to aggregate it from the stream yourself. A durable run summary with metrics is a request we’re tracking, here’s a related thread where you can add a vote and details: Feature request: Cloud Agents API live activity stream, stable events, and run summary for third-party chat UIs
Try wiring streaming into your task board, it’ll give you exactly the diagnostics you were missing. Let me know if anything doesn’t work.