Published · npm latest v0.9.7

Gemini CLI · experimental, fixture-verified, financial-only

aibill documentation

Start with evidence you can inspect.

aibill turns supported local coding-agent metadata and optional provider reports into evidence-labeled views that keep local estimates, subscription context, and provider cost separate. This guide distinguishes what works today from preview and roadmap items.

Updated August 27, 2026

01 · Quickstart

Your first private receipt

Run init inside a specific project. On npm v0.9.7 it reads the last 30 days of supported Claude Code, Codex, and experimental Gemini CLI financial metadata on this machine, prints a personal receipt, preserves or creates project-local aibill state, and seeds a private aggregate cache for Claude Code and Codex.

Terminal
npx aibill init
npx aibill

Init uses real local evidence only. It does not substitute sample dollars and it does not install the statusline unless you explicitly pass --statusline. If the default readout finds no supported evidence, it says so and substitutes nothing — “No sample data was substituted.” Pass --sample to see a labeled demo on purpose.

02 · Choose a surface

One evidence model, different jobs

Published

CLI

The complete private receipt, source diagnostics, reports, Context Health, the guided improve loop, and the evidence-constrained Apply workflow.

Open guide →

Published · opt-in

Claude Code statusline

A cache-only monitor for plan-aware Claude Code and Codex cohorts. It never scans transcripts or calls a provider while rendering.

Open guide →

Published · explicit

MCP

A structured interface for compatible AI clients. The client receives each tool result; approval and automatic-use behavior follow that client’s settings.

Open guide →

Source preview

Glance

An unsigned native macOS hover surface over the shared Glance JSON contract. No public Mac download exists yet.

Open guide →

03 · Trust model

Three questions stay separate

  1. What financial evidence supports this number?

    verified is provider-reported and source-authoritative, though not necessarily a final invoice. estimated is local usage priced at published API rates. detected_unverified is a signal that has not been reconciled. missing means no supported cost basis exists.

  2. How has the reader or connector been tested?

    live_verified, fixture_verified, untested, and failed describe validation coverage. They never upgrade a number’s financial evidence.

  3. Was this location approved for reading?

    Folder approval is a permission boundary, not proof that its contents are financially verified.

Run npx aibill doctor --sources to inspect validation, financial evidence, freshness, and the latest sanitized error together.

04 · Privacy

Local by default, explicit at every boundary

CLI and Glance analysis runs locally; transcripts, prompts, file names, and dollar amounts are never uploaded. The CLI counts which commands run — anonymous, never your data or content — and sends nothing before a one-time printed notice. aibill telemetry shows the exact last payload verbatim; aibill telemetry off (or DO_NOT_TRACK, AI_SPEND_NO_TELEMETRY, CI) turns it off, and every receipt states the current mode. An explicit sync-provider call contacts only the selected provider using an inherited env:NAME reference. MCP returns the selected structured result to the invoking AI client, so that result follows the client’s own data policy.

aibill rejects raw credential arguments and never sits in the inference path or stores, prints, or proxies provider credentials.

05 · Product boundary

What is—and is not—available

Workspace, company-wide reconciliation, accepted-outcome economics, ROI measurement, autonomous enforcement, and a signed Glance download are not shipped. See the factual Now / Next / Later roadmap.