Profile the agent loop
Read existing Codex, Claude Code, Cursor, and Grok Build traces in place. Compare working, blocked, and excluded time across sessions.
wasted-cycles --days 30
Local-first wall-clock profiler
Wasted Cycles is a free, MIT-licensed Go CLI by Yossi Eliaz. It reads your local Codex, Claude Code, Cursor, and Grok Build traces, or a repo's GitHub Actions history, and ranks the build, test, CI, and container waits that block agent work, so you can fix the largest machine stall first. Nothing is uploaded.
$ curl -fsSL https://zozo123.github.io/cycles | sh
Checksum-verified binary · temporary directory · no account · no upload · version pinning supported
Two inputs. One question.
Wasted Cycles measures elapsed time, keeps human wait outside the metric, and gives you a small ranked list instead of a speculative ROI number.
Read existing Codex, Claude Code, Cursor, and Grok Build traces in place. Compare working, blocked, and excluded time across sessions.
wasted-cycles --days 30
Inspect completed workflow runs, queue delay, unsuccessful time, median and p95 latency, and the workflows consuming the most elapsed time.
wasted-cycles github owner/repo --days 30
GitHub Actions demo
Values come from a seven-day public sample captured 31 July 2026, scaled ×21 for the demo. Proportions are preserved; repository, commit, and run titles are omitted.
Scaled demo only; proportions are preserved. Live reports calculate directly from the repository and window you provide.
Method and limits
Builds, tests, CI, containers, packages, sub-agents, and repeated machine work. Human wait is reported separately and excluded.
GitHub workflow latency is created_at → updated_at. Overlapping runs count separately; it is not billed runner-minutes.
Gaps over two hours start a new session. Shorter gaps cap at 30 minutes and remain visible as inferred time in JSON.
Classification uses event fields and executed commands, not prompt text. Pasted logs and quoted commands are not counted as work.
Codex and Claude expose events. Cursor exposes turns; Grok is coarser. JSON includes confidence and segment details.
Trace files are read in place. Prompt text and source code are never stored, rendered, or uploaded.