JSON Output
Machine-readable reports for dashboards and scripts.
Use --json on either public command:
agent-burn summary --json
agent-burn summary --value --json
agent-burn summary --value --cursor-plan ultra --json
agent-burn harness claude --json
agent-burn harness codex --jsonUse --jq to filter JSON directly:
agent-burn summary --json --jq '.totals'
agent-burn harness claude --json --jq '.window'
agent-burn harness codex --json --jq '.spendMix'Harness JSON includes spendMix, a trailing-30-day breakdown of input, output, cache write, and cached input token classes with token percentages and API-equivalent cost percentages. Codex harness JSON also includes resetCreditsAvailable when the live ChatGPT usage meter reports banked rate-limit resets, and limitUsageDaily: the ChatGPT Codex dashboard's last 30 days of weekly-limit consumption (date, usedPercent, plus surfaces[] with surface/usedPercent and models[] with model/speed/usedPercent). It is empty with --offline or without a signed-in Codex token.
The JSON shape is intended for dashboards and scripts. Prefer command names summary and harness.
Summary JSON also includes daily rows (date, cost, tokens). Each entry in
agents includes its own models, daily, and tokenBreakdown (input,
output, cacheWrite, cacheRead). Cursor agent daily rows also include
cursorModelsCost and cursorModelsTokens for Composer, Auto, and other
Cursor-hosted models. These details respect the selected date range and keep
models attributed to the correct harness, including Cursor. Existing totals and
model fields are unchanged.
The macOS app uses these details for its General and
harness tabs. Add --value to include subscription plan information.
Cursor account balances
Live agent-burn summary --value --json can include cursorAccount with
billingCycleStartMs, billingCycleEndMs, includedLimitUSD,
includedRemainingUSD, includedPercentUsed, optional includedSpendUSD /
bonusSpendUSD / planSpendUSD, onDemandSpentUSD, onDemandLimitUSD,
activeRemainingUSD, activeLimitUSD, activePercentUsed, and grants
(kind, total/remaining USD, expiration timestamp). Active fields follow
promotional credits while those still have remaining balance, then the included
allowance. Absent amounts are null, not zero. These current account balances
are distinct from historical API-equivalent spend and are omitted in offline
mode.
Claude account meters
Live agent-burn summary --value --json can include claudeAccount with
sessionUsedPercent, sessionResetsAtMs, weeklyUsedPercent,
weeklyResetsAtMs, scoped model weeks (name, usedPercent, resetsAtMs),
and optional extra-usage fields (extraEnabled, extraUsedUSD,
extraLimitUSD, extraUsedPercent). Session and weekly values come from
Claude’s live OAuth usage meters, including the modern limits array.
Extra-usage amounts are dollars. Absent amounts are null, not zero. These
current account meters are distinct from historical API-equivalent spend and
are omitted in offline mode.
Agent Burn first reuses the usage reading Claude Code cached in
~/.claude.json, then asks the OAuth endpoint. An expired or rejected token is
renewed first, with the same lock and write-back Claude Code uses, so running
claude sessions adopt the new token. Agent Burn never sends an expired token.
When Anthropic refuses the renewal, the output adds
claudeAccountStatus: "signInExpired" and keeps the last shared reading in
claudeAccount when one is still available.