July 2026 agent usage, measured
I wanted a month of real agent usage numbers: tokens, spend, sessions by tool, failure rate, and the local vs hosted split. Mission Control already stores those views on the Fedora / Strix Halo hub, so I pulled July 2026 from there instead of reconstructing the month from memory.
The month was a mix. Grok, Claude Code, and Codex used hosted models. OpenCode used local Qwen 3.6 models, and Hermes also ran locally.
Headline
In July 2026 the Fedora hub recorded 402 sessions and 46,927 requests: 26.5 million input tokens, 13.0 million output tokens, 4.78 billion cache-read tokens, and 79.8 million cache-write tokens. Agent session costUsd is still unset. Direct API Spend for July calendar days sums to $14.46 (Anthropic $11.80, OpenRouter $2.66). Activity failure rate on the hub SQLite was 1.22% (626 failures in 51,173 activities).
Local inference accounts for 94 sessions and 9,998 requests in this rollup. That combines OpenCode running Qwen 3.6 with Hermes on Strix Halo. Codex has the most sessions (158) and no recorded tokens.
Method
Source: Mission Control on the Fedora / Strix Halo hub. Consumption totals come from the hub agent-usage API for 2026-07-01 inclusive to 2026-08-01 exclusive, UTC. Failures and Hermes request counts come from the hub SQLite on that host. Direct API Spend comes from provider daily usage rows whose day is in July 2026. Extract rules (including which host is the hub) live in docs/monthly-usage-report.md.
Cache-read and cache-write are reported separately from input and output. Agent session cost and provider billing are not added together.
Sessions by source
From the hub agent-usage rollup (dimension=source):
| Source | Sessions | Requests | Input | Output | Cache-read |
|---|---|---|---|---|---|
| Codex | 158 | 10,537 | 0 | 0 | 0 |
| OpenCode | 91 | 6,386 | 7,287,642 | 537,611 | 182,691,744 |
| Grok | 88 | 9,196 | 10,392,786 | 1,423,977 | 244,932,352 |
| Claude Code | 62 | 17,196 | 1,022,642 | 10,330,023 | 4,356,088,399 |
| Hermes (local) | 3 | 3,612 | 7,787,354 | 707,176 | 0 |
| Total | 402 | 46,927 | 26,490,424 | 12,998,787 | 4,783,712,495 |
Claude Code also accounts for all 79,840,621 cache-write tokens. Session counts in the raw sessions table are within a couple of rows of this rollup (Claude Code 63, Codex 160, OpenCode 90, Grok 88). Hermes is mostly inference_requests, not agent sessions.
Work I recognize in the project breakdown: Grok on mission-control (26) and benbishop-site (22); OpenCode on astro-llms (33), benbishop-site (14), bshp (13), and betting-picks-mvp (12); Claude Code heavy on model-prompt-tests cache; Codex sessions on benbishop-context (27) and benbishop-site (23) with empty token columns.
Tokens and spend
Agent usage totals for July (same API response):
| Measure | Count |
|---|---|
| Input tokens | 26,490,424 |
| Output tokens | 12,998,787 |
| Cache-read tokens | 4,783,712,495 |
| Cache-write tokens | 79,840,621 |
| Input + output | 39,489,211 |
Cache dwarfs the rest, and almost all of it is Claude Code. A single “total tokens” number would be a Claude cache number. I am publishing the columns separately.
Direct API Spend for July calendar days, not mixed into the table above:
| Provider | July cost | Input | Output | Connector |
|---|---|---|---|---|
| Anthropic | $11.80 | 3,882,944 | 168,318 | ok |
| OpenRouter | $2.66 | 381,386 | 112,174 | ok |
| OpenAI | no July rows | - | - | limited |
| xAI | no July rows | - | - | limited |
| July total | $14.46 |
Anthropic rows include claude-sonnet-5, claude-opus-4-8, and web-search usage. OpenRouter rows include openai/gpt-5.5, x-ai/grok-4.5, anthropic/claude-sonnet-5, and meta-llama/llama-3.3-70b-instruct. xAI has no public historical usage API, so a missing xAI dollar figure is a connector limit, not proof of zero Grok spend.
Failures
Hub activities for July: 51,173 rows, 626 with status = 'failure' (1.22%).
| Source | Activities | Failures | Rate |
|---|---|---|---|
| Claude Code | 25,054 | 496 | 1.98% |
| Codex | 10,537 | 0 | 0% |
| Grok | 9,196 | 0 | 0% |
| OpenCode | 6,386 | 130 | 2.04% |
Grok and Codex at 0% is probably how those collectors record status, not a claim that those tools never failed. Claude Code’s 496 failures have no tool_name. OpenCode’s are mostly browser and Linear tool errors (playwright_browser_click 34, webfetch 20, linear_delete_comment 19, playwright_browser_navigate 13).
A 1% activity failure rate is not a reliability headline. Failures in Mission Control is a union of tool errors, and some sources do not populate the field.
Local vs hosted
The source name identifies the client, not where its model ran or how it was paid for. In July, OpenCode used local Qwen 3.6 models only. Hermes also ran locally on Strix Halo. Grok, Claude Code, and Codex used hosted models.
| Runtime | Sessions | Requests | Input | Output | Cache-read |
|---|---|---|---|---|---|
| Local: OpenCode (Qwen 3.6) + Hermes | 94 | 9,998 | 15,074,996 | 1,244,787 | 182,691,744 |
| Hosted: Grok + Claude Code + Codex | 308 | 36,929 | 11,415,428 | 11,754,000 | 4,601,020,751 |
The Hermes portion includes 3,573 successful inference requests, 35 cancelled, and 4 context overflow. Its 7,787,354 prompt tokens and 707,176 completion tokens are included in the local row with OpenCode.
These are agent-usage totals grouped by model runtime. They are not subscription-plan or API billing totals. The $14.46 Direct API Spend table is a separate provider-billing dataset and is not attributed to OpenCode.
What this extract cannot say
- It cannot price Grok or Codex from session
costUsd. Those fields are empty. - It cannot give an xAI invoice. That connector has no historical usage API.
- It cannot treat Codex’s 158 sessions as zero work. Tokens were not recorded.
- It cannot treat Grok/Codex 0% activity failures as a quality ranking.
Those gaps are the point of writing the month down. The next extract should hit Fedora first, then fill the same four tables (sessions, tokens, Direct API Spend, local vs hosted) plus the failure caveat.
Series index: A month of agent usage. Related product notes: Mission Control, provider spend and budgets.