{"version":"2.1.223","anchor":"sdk-result-schema-documents-what-usage-total-cost-usd-and-mo","canonical_anchor":"sdk-result-schema-documents-what-usage-total-cost-usd-and-mo","heading":"SDK result schema documents what usage, total_cost_usd and modelUsage actually cover","tier":"internal","area":"SDK","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.223\/e\/sdk-result-schema-documents-what-usage-total-cost-usd-and-mo","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.223","markdown":"### SDK result schema documents what usage, total_cost_usd and modelUsage actually cover\n\nSDK result fields now explain that usage covers only the main loop and costs are estimates.\n\n**What**\n\nThe result schema now spells out the scope of its accounting fields, so callers stop reading `usage` as a whole-session total.\n\n**Details**\n\n- `usage` is described as \"MAIN AGENT LOOP ONLY \u2014 excludes Task subagent, sidechain, and auxiliary model calls, and is per-turn in streaming-input sessions. Prefer modelUsage for token\/cost accounting.\"\n- Both the success and error result schemas attach descriptions to `total_cost_usd` and `modelUsage`.\n- The cost text explains it is \"Cumulative estimated cost in USD for this query() call\", that a mid-session \/clear resets the running total, and that it is \"An estimate, not a billing statement.\"\n- Documentation only: no runtime numbers changed.\n\n**Evidence**\n\n`An estimate, not a billing statement.`\n\n- Area: SDK\n- Names: `total_cost_usd`, `modelUsage`, `\/clear`\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 0\/5"}