Track local coding-agent usage
txtop reads local session logs written by Codex, Claude Code, and Gemini CLI. This path is read-only, needs no provider credential, and is intended for personal coding-subscription history rather than organization billing.
Enable the sources you use
Add the following section to config.toml and remove any clients you do not
use:
[subscription]
enabled = true
codex_enabled = true
claude_code_enabled = true
gemini_cli_enabled = true
txtop discovers logs beneath ~/.codex/sessions, ~/.claude, and ~/.gemini.
Set additional_log_paths when a client writes compatible logs elsewhere:
[subscription]
enabled = true
codex_enabled = true
additional_log_paths = ["/path/to/export.jsonl"]
You can make the same changes in the Config panel.
Scan and verify
Run txtop, wait for the first scan, and press r. Press 2 to hide or restore
the subscription lane. Source diagnostics are available with D and through:
txtop db doctor
txtop db query subscription-events --days 3
Scans are incremental. txtop fingerprints files, retains parser state, and does not need to reread unchanged history on every refresh.
Local formats are not stable upstream APIs. txtop labels this data as best-effort and surfaces repeated parse failures instead of treating them as zero usage. See unofficial integrations for the support boundary.
Live 5-hour and 7-day limits are a different capability. They are disabled by default because they use local credentials for network requests; see enable live subscription limits.