Skip to content

Metrics

Goose reports token usage on its terminal complete event. The harness layer reads the token fields from that event and normalizes them into the standard token classes. Aggregation is Last: the values are cumulative session totals, so the last event that carries them wins.

Normalized classGoose JSON key
Uncached inputinput_tokens
Cached inputnot reported, so null
Outputoutput_tokens
Reasoningnot reported, so null

Goose’s complete event carries input_tokens, output_tokens, and total_tokens, where the total is exactly input plus output. Input is treated as excluding cached reads, so nothing is subtracted from it.

Goose reports no cache or reasoning breakdown, on complete or on the per-message records, so cached input and reasoning are recorded as null (not determinable) rather than 0. Cache reads and reasoning tokens are folded into the flat input and output totals, so a Goose run’s token total still reflects them and the run participates in token comparisons.

Goose reports no cost of its own, so the comparable cost is computed from the list price curated on the model’s catalog entry, applied to the normalized token classes. The model ID is an OpenRouter slug that resolves to the entry unchanged. See Metrics for the cost and token-class contract.