Skip to content

Metrics

Cline reports cumulative session totals rather than per-step deltas, so the last record in the stream that carries usage wins. That is the terminal run_result record for a completed session.

The raw JSON keys map onto the normalized classes as follows:

Normalized classCline JSON key
Uncached inputinputTokens − cacheReadTokens (plus cacheWriteTokens)
Cached inputcacheReadTokens
OutputoutputTokens
Reasoningnot reported, recorded as null

Cline’s inputTokens is cache-inclusive: it already contains the cacheReadTokens restated alongside it, so the cache reads are subtracted to recover the uncached input. Cache-creation tokens (cacheWriteTokens) are billed as input and are folded into the uncached input class.

Cline reports no reasoning-token count, so the reasoning class is null (not determinable) rather than 0, even for a model that reasons. Those tokens are still accounted within outputTokens, so a Cline run’s token total stays meaningful and the run participates in token comparisons. Only the reasoning breakdown is unavailable; the event stream still surfaces reasoning content when Cline reports it as a distinct block.

Cline reports no run cost of its own, so the comparable cost is computed from the list price curated on the model’s catalog entry, applied to the recorded token classes. See Cost.