Integrations

Codex CLI spend per developer

In short: add an OTLP exporter to ~/.codex/config.toml that posts to FiscaLLM. Each completed Codex response becomes a cost event for the developer who ran it, next to Claude Code, Cursor and the rest of your AI tools.

Beta. This source is built and tested against the format Codex CLI publishes, but has not yet been run against a live account. If something looks off, open an issue.

Set it up

Create an app in FiscaLLM (free) and copy its ingest key. The app's Sources page shows these settings with your key filled in.

In ~/.codex/config.toml:

[otel.exporter.otlp-http]
endpoint = "https://fiscallm.com/api/v1/otel/v1/logs"
protocol = "json"

[otel.exporter.otlp-http.headers]
Authorization = "Bearer fsk_your_key"

What is read

Limits

Using more than one AI tool? Each one is a source you turn on in the same app, and the overview shows the cost of each tool, developer and model side by side. See all integrations.

Questions

How does FiscaLLM get Codex usage?

Codex CLI has an OpenTelemetry exporter built in. With [otel.exporter.otlp-http] pointed at FiscaLLM, it sends an event for each completed model response with its token counts. FiscaLLM reads only those events.

Codex does not send a cost. How is it priced?

From the tokens: uncached input, cached input and output (reasoning included), at OpenAI's API list prices for the model, such as gpt-5.3-codex.

We use Codex with ChatGPT plans, not API keys. Is the number a bill?

No. On a ChatGPT plan the amount is what the same usage would cost at API prices. It still shows who uses Codex most and with which models.

Who is each call attributed to?

The signed-in ChatGPT account's email. With an API key there is no account, so the machine's host name is used; set fiscallm.user_id as a resource attribute to name the developer yourself.