Traces

Find the step that cost you.

Every run as a timeline. Earlyman names what broke, keeps the fix for next time and checks it on the next run.

Traces · fix the checkout retrySample data
StepTimelineTimeCost
Run 120:40$2.60
Plan the change0:40$0.60
Edit the code cause0:40$0.70
Run all tests 7:00$0.50
Retry 3 times 12:20$0.80
Run 2 · next day2:40$1.50
Plan the change0:40$0.60
Edit the code0:40$0.70
Test changed file saved fix0:20$0.05
Run all tests 1:00$0.15
Issue · run 1 The tests failed after an edit that was never tested.

Step 2 changed the checkout code. The agent ran the whole suite, then retried it 3 times.

Fix for next timeRun the repo's tests on the changed file first.
Fixes kept for next time · 1
Test the changed file first

Tried on your last 50 sessions first: 3 caught, 0 false hits.

Run 2 saved 18 min and $1.10
Across runs

The same failure showed up in 17 of 57 runs this month. One fix covers all of them.

A stuck agent

Stop it from the trace: it finishes its step, writes a short summary and stops. Stopping asks first and works only from your Mac.

When steps are missing from a trace, Earlyman says so and lowers how sure it is about the cause.

Technical details

Run 1, step 3 of 4 · run all tests · exit code 1 · 7:00 · retried 3 times, all failed. The edit in step 2 changed the checkout code and no test ran on it.

Open any pull request and see only its traces. How a pull request receipt links to them →

How it works

How a trace is built. From the first step to the likely fix.

  1. 01Every run is recordedEach turn, sub-agent and tool call is laid out in order, with what it took and what it spent.
  2. 02The outliers stand outThe slowest step and the costliest step are marked, and the cost on each step adds up to the session total.
  3. 03Start at the first failureEarlyman points at where a run first went wrong and suggests one likely fix.
Try it

See every agent at a glance.

The real layout, with sample data. Nothing you click is sent or saved.

Earlyman · HomeInteractive demo · Sample data

Good morning. 4 things need you. Most urgent: a stuck agent is still costing money.

5-hour session62%heads-up at 80 % · resets in 1 h 40 m
This week · all models38%resets Sunday
This month · all vendors$412 of $600Claude Code, API keys, GPU pods
Needs you4 open
  • An agent has made no progress for 2 hA tool call is still pending. Stop it or start it again.$3.10 / h
  • PR #214 broke a rule: force push to mainBlocked before it ran. The agent carried on.1 rule
  • Search subagents run on the largest model418 of 483 this week. A smaller model is enough for search.−$38 / week
  • This session has run for 9 hHand off to a fresh session to stop paying for old context.−$6 / day

Questions

Can I trace my own agents, not just Claude Code?

Yes. Send OpenTelemetry or Traceloop spans, or import SWE-agent and OpenHands runs. Sending is off until you turn it on, and message text is dropped the moment it arrives.

What if steps are missing from a trace?

Earlyman compares the tool calls with their results. When some are missing it shows how many, and it is less sure about the cause.

Does a trace show what the agent said?

No. A trace keeps sizes, timings, tool names and failure kinds, never message content.

How long are traces kept?

As long as you like. They stay on your computer, and you can export them as CSV, JSON or OpenTelemetry.

See where the session went, and fix it for next time.