terma usage to get a cost and token summary for any time window across your entire team or filtered down to a single person. The output breaks usage out by source, person, and model — with a totals row at the bottom — so you can see at a glance where spend is going and who is driving it.
Usage
Output
Each row represents one (source, person) combination. Columns cover cost in USD, token counts by type, and the number of model calls made. ATOTAL row summarises the full window.
terma usage --since today
Flags
string
Filter results to one person. Matches against name, email, alias, or user ID. A single
--user match covers every agent and source the person uses — Claude Code, Codex, and OpenCode rows are all included if they share an identity.string
Start of the time window. Accepts an RFC 3339 timestamp, a date (
2024-06-01), a relative age (24h, 7d), or the keywords today and yesterday.string
End of the time window. Accepts the same formats as
--since. Defaults to now when omitted.string
Regroup rows by a different dimension. Options:
user, model, source, provider, api-key.string
Output format. Options:
table (default), json, yaml, csv. Non-terminal callers (scripts, CI) receive JSON automatically.A
--user match for a name or email covers every agent the person uses. One person is often several principals — the same developer may appear as separate identities seen by Claude Code and by Codex — and terma usage aggregates them all under a single row when a match is found.Traffic attributed to an API key rather than a named person shows as
(no user id). Use --group api-key to see a breakdown by key, and terma principal find to investigate which identity is missing.Related commands
Useterma session list to drill into the individual sessions behind the numbers in a usage summary.