Skip to content

Estimated emissions

The usage page shows an estimate of the carbon emissions behind the tokens your agents used, across every session the CLI has synced. It is an estimate, shown as a range, and this page says how it is made and what it does not cover.

We did not write this method. It is EcoLogits, an open-source project by GenAI Impact (MPL-2.0) that publishes a bottom-up method for estimating the impact of calls to hosted language models. We use its formulas, its model catalog and its data-centre figures as published. The latest review used EcoLogits 0.11.2 and its model catalog on October 4, 2026.

For each model and date range, the estimate runs four steps:

  1. GPU energy per generated token, from a curve EcoLogits fits to measured H100 inference energy. It grows with the number of parameters active per token.
  2. How many GPUs the model occupies, from its total parameter count: enough 80 GB H100s to hold the weights at 16-bit plus 20% overhead, rounded up to a power of two.
  3. The rest of the server, which draws power for as long as generation takes, shared across the requests it serves at once.
  4. The data centre and its grid. The sum is multiplied by the provider’s power usage effectiveness (PUE), then by the carbon intensity of the grid where the provider serves the model.
energy (Wh) = (GPU energy + server energy) × PUE
CO₂e (g) = energy (Wh) × grid intensity (kg CO₂e per kWh)
  • Prompt and cache tokens. EcoLogits estimates the energy of generating output. It has no figure for reading input, writing to the prompt cache or reading from it, and we did not invent one. Only your agents’ output tokens are counted, so a session that re-reads a large context many times is undercounted.
  • Time to first token. EcoLogits adds a per-request startup term. Usage is recorded per session and model rather than per request, so we can’t apply it. This also lowers the estimate.
  • Manufacturing the hardware. EcoLogits estimates embodied emissions separately. The dashboard counts only the electricity used.
  • Models with no published estimate. A model that EcoLogits does not catalog, or catalogs only as served somewhere other than where your calls run, gets no estimate. It is left out of the total and the usage page says how many models that is. It is never counted as zero.

The providers of closed models don’t publish how large their models are. EcoLogits gives a range of plausible active-parameter counts for each one, and data-centre PUE is itself a range. The dashboard works the formula out at both ends and shows both results. For a closed model, the high end is typically two to three times the low end.

That range covers what is unknown about the model and the data centre, and nothing else. EcoLogits does not publish an error for its fitted energy curve, so the true figure could fall outside it. Each model row carries a basis label: Estimated size when the size is EcoLogits’ estimate, Published size when the model’s size is public.

Totals add the low ends together and the high ends together. A total is therefore at least as wide as its widest model, and one uncertain model is never hidden by narrowing the total around its midpoint.

Emissions are location-based. They use the average carbon intensity of the grid in the country where the provider runs the model, from EcoLogits’ electricity-mix table (Our World in Data). A provider’s purchases of renewable energy certificates do not reduce the figure. If a provider publishes a lower market-based number, that is why the two differ.

The figures are a versioned table in the dashboard’s code, reviewed against EcoLogits at least once a year. A build fails if a year passes without a review. The table stores token counts, not emissions, so a corrected figure changes every past estimate too, the next time you look.

These figures describe usage you can see. They are not a claim that any model, provider or tool is lower-carbon than another.