claudeers.
// Developer Tools

receipts

Your AI coding agent just billed you. Here's the receipt. Cost receipts for Claude Code, Codex, Cursor, Gemini & opencode — no account, no upload.

// Developer Tools[ cli ][ api ][ claude ]#claude#ai#claude-code#cli#codex#cost-tracking#cursor#developer-tools#devtoolsApache-2.0$open-sourceupdated about 19 hours ago

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up receipts (git-clone project) into my current project.
Found on https://claudeers.com/receipts
Repo: https://github.com/anandgupta42/receipts
Homepage/docs: https://anandgupta42.github.io/receipts/
Detected install method: git-clone → git clone https://github.com/anandgupta42/receipts
Category: devtools. Platforms: cli, api.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
unknown; community-verified: false. Confirm the source before running anything.
// or clone
git clone https://github.com/anandgupta42/receipts
receipts

Your AI coding agent just billed you. Here's the receipt.

a real aireceipts receipt comment on a merged pull request of this repo: 3 sessions — a Claude Code orchestrator sliced to just this PR's turns, plus two Codex helpers — $3.13 total

not a mockup — a real receipt on a merged PR of this repo: three sessions, $3.13. Read it live.

The meter runs while the agent drives · the receipt prints when the ride ends · and sticks with the PR

Why this exists. Your AI coding agent spends real money invisibly — you see the diff, never the bill. aireceipts is the bill: live in your status bar while the agent works, itemized when the session ends, attached to the PR. Local and deterministic — transcripts never leave your machine, and a shared receipt carries figures, never code (how).

Start here — the meter, the receipt, the PR

Try it in ten seconds: npx aireceipts-cli — no install, no account (--demo shows a bundled example if you have no sessions yet). Then let it run like a cab ride:

1 · While the agent works — the meter. One settings line (setup) pins aireceipts statusline under Claude Code's input box — and tmux, starship, or PowerShell give Codex and OpenCode the same bar — ticking up as the session runs:

An agent session replayed in a Claude Code-shaped terminal — tool rows and results scrolling above the input box, the aireceipts meter highlighted beneath it: cost climbs $2.67 to $23.78, a Bash loop ×5 waste flag appears mid-session, and the hold frame labels the bar

The line, segment by segment:

[aireceipts] Opus · $4.20 · $9/hr · 128k · ctx 42% · 5h 24% ↺2h13m
             │      │       │       │      │         └ how much of your 5-hour cap is gone · when it resets
             │      │       │       │      └ how full the context window is
             │      │       │       └ how many tokens the session has used
             │      │       └ what you're paying the AI per hour
             │      └ cost so far — cited prices, subagents included
             └ which model is billing you right now

When money is being wasted — a stuck retry loop, say — a flag appears right on the line.

2 · When the session ends — the receipt. npx aireceipts-cli prints the itemized receipt — every tool priced, waste flagged (loops, context thrash, trivial spans), the cheaper-model line as arithmetic, not a prediction. The exact bytes:

- - - - - - - - - - - - - - - - - - - - - - - - -
                    AIRECEIPTS                    
 “Add email format validation to the signup for…” 
 Claude Code · Jun 18 2026 09:30:30 UTC · 10m 30s 
    claude-opus-4-8 87% · claude-sonnet-5 13%     
         cache served 85% of input tokens         

pre-edit: 11% of cost (1/10 turns)
  (share before the first named edit tool)

Bash..............................$0.05  (3 calls)
Edit..............................$0.05  (2 calls)
(thinking/reply)..................$0.03  (2 turns)
Write.............................$0.03  (2 calls)
Read...............................$0.02  (1 call)
--------------------------------------------------
TOTAL........................................$0.18
same tokens on claude-haiku-4-5...$0.04 (78% less)
  (arithmetic, not a prediction)
- - - - - - - - - - - - - - - - - - - - - - - - -
                npx aireceipts-cli                
         github.com/anandgupta42/receipts         
- - - - - - - - - - - - - - - - - - - - - - - - -

The final line identifies the open-source project that generated the receipt; the line above it is the install command. PR comments and their HTML artifacts make the same source-and-install destination clickable.

pre-edit is the share of cost spent before the first edit-tool call (reading a receipt).

3 · When the PR ships — the receipt sticks with it. npx aireceipts-cli pr --post attaches the cost of the sessions behind a PR as a comment. Generation stays local; a drop-in CI check can require every PR to carry one — a real one, live: PR #189.

What it tells you

  • Which model is billing you, and what the session costs so far — on every prompt, before the session is over, with your 5-hour cap countdown next to it.
  • Where the money went — every tool priced, waste flagged as it happens: stuck loops, context thrash, trivial turns a cheaper model could have taken.
  • What a PR cost — attributed across the sessions that built it, with same-tokens-on-a-cheaper-model arithmetic.

Supported agents

AgentDepth
Claude CodeFull: per-turn models, tools, cache tiers
Codex CLIFull per-turn parsing
Gemini CLIFull: per-turn models, tools, cache tokens
OpenCodeFull: per-message models, tools, cache read/write; unknown models stay tokens-only
CursorHonest degraded mode: session totals only (its logs carry no per-turn usage)

Model prices move. A daily advisory tripwire cross-checks data/prices/ against an independent dataset and opens an issue when they disagree; every table change lands as a cited price-table PR.

Install — or let your agent do it

npm i -g aireceipts-cli

No account, no API key. The command is then aireceipts; or skip the install and prefix any command as npx aireceipts-cli. Full walkthrough: getting started.

Easiest: let your agent do it

You already have an AI coding agent. In Claude Code, Codex, or any agent with shell access, paste:

Read https://raw.githubusercontent.com/anandgupta42/receipts/main/README.md
and follow the "Instructions for agents" section: install aireceipts globally
and set up the Claude Code statusline.

The agent handles the npm install and the settings edit, and shows you a receipt when it's done.

Instructions for agents

If you are an AI agent asked to install aireceipts, do the following:

  1. Install the CLI globally. Run npm install -g aireceipts-cli, then confirm with aireceipts --version. If global installs are not permitted on this machine, fall back to npx aireceipts-cli in the steps below and tell the user why.

  2. Set up the Claude Code statusline (skip if Claude Code is not installed, and say so). Add a statusLine entry to ~/.claude/settings.json:

    {
      "statusLine": {
        "type": "command",
        "command": "aireceipts statusline"
      }
    }
    

    Merge into the existing JSON; do not overwrite other settings. If a statusLine entry already exists, show it to the user and ask before replacing it. If aireceipts is not on the PATH that GUI-launched apps see, use the absolute path from which aireceipts as the command value.

  3. Verify. Run aireceipts to print a receipt for the newest session (aireceipts --demo if the user has none yet) and aireceipts setup for detected agents. The statusline appears on the next Claude Code prompt.

  4. Show the user the result. Print the receipt and tell them the statusline is active. Optional next steps: aireceipts install-hook (consent-gated end-of-session mini-receipt) and aireceipts integrations (snippets for Codex, OpenCode, Cursor, and GitHub PR receipts).

Everything else it does

CommandWhat it does
aireceiptsReceipt for the newest session (--list to pick another)
aireceipts --miniSix-line mini-receipt for the newest session
aireceipts --detailsAdds a DETAILS section — token composition, session shape, per-model split (classic template)
aireceipts --template <name> / templatesRender a receipt style (classic, grocery, datavis); templates previews each — guide
aireceipts setupFound sessions, latest cost, week total, and the integrations that fit your machine — guide
aireceipts pr --post [--artifact]Attach the receipt of the sessions behind a PR as a comment; --artifact also publishes a durable receipt page — guide
aireceipts compare <a> <b>Two sessions side by side — models, tools, waste, ratio — guide
aireceipts weekTrailing-7-day digest: totals, per-agent split, top waste — guide
aireceipts backfill [--out <dir>]Bulk receipts across your existing session history; summary by default, one file per session with --outguide
aireceipts integrations [target]Exact local snippets for Claude Code, Codex, OpenCode, Cursor, and GitHub — guide
aireceipts --handoffPaste-ready block that tells your agent what to do cheaper next time — guide
aireceipts install-hookConsent-gated Claude Code hook: every session ends with a mini-receipt — guide
aireceipts statuslineLive cost line in Claude Code's status bar, or any terminal via --cwd (tmux/starship/pwsh) — setup
aireceipts --quota / --check-budgetClaude Code rate-limit window, read from the statusline stdin payload (silent otherwise); --check-budget exits 1 when your local budget cap is exceeded
aireceipts --json / --csv / --svg / --pngVersioned schema, RFC 4180 rows, shareable SVG/PNG image — schema
aireceipts statsLocal usage counters — receipts generated on this machine
Terminal recording of a synthetic session: aireceipts --handoff prints COULD HAVE SAVED ≤ $0.08 (81%, arithmetic not a prediction), the flagged Bash loop ×5 waste line with its fix, and the coverage line.

The honesty rules

Every price is cited (vendor URL, date observed, a quoted excerpt — checked by CI). Every receipt is deterministic: same transcript in, byte-identical receipt out, golden-tested on every commit — including the receipts shown on this page. No model without a cited price row ever shows a dollar figure — tokens-only instead of a guess. Comparisons re-price the identical tokens; they never predict. What a receipt proves, and what it can't: docs/trust.md · aireceipts --methodology.

Telemetry

Anonymous diagnostics and usage signals, on by default (in CI too) — error classes, duration buckets, parse-failure signatures, feature enums, and coarse buckets. Never code, prompts, paths, titles, or dollar amounts. See exactly what a run would send: aireceipts --telemetry-show. Kill it: AIRECEIPTS_TELEMETRY=off or DO_NOT_TRACK=1. Schema and rationale: docs/telemetry.md.

Docs

User guide — get started, every command, pricing, troubleshooting (hosted docs · site). Also: FAQ · What a receipt proves · PR receipts · JSON schema · statusline.

Versioning & contributing

Pre-1.0 (0.x): minor versions may change behavior or output, patch versions are fixes only. The receipt's byte-stability contract is the compatibility surface — a change that breaks it is a major bump (changelog · releases). aireceipts is designed and largely built by AI agents under a spec-driven harness — adversarially validated specs, mutation-tested money paths, byte-golden outputs, and PRs that carry the receipt of the session that built them (how and why). Human PRs are welcome and run the same gates: CONTRIBUTING.md.

License

Apache-2.0.

Buy me a samosa

Every open-source project asks you to buy the maintainer a coffee. Not this one — buy me a samosa, and I'll explain.

// compatibility

Platformscli, api
Operating systems
AI compatibilityclaude
LicenseApache-2.0
Pricingopen-source
LanguageTypeScript

// faq

What is receipts?

Your AI coding agent just billed you. Here's the receipt. Cost receipts for Claude Code, Codex, Cursor, Gemini & opencode — no account, no upload.. It is open-source on GitHub.

Is receipts free to use?

receipts is open-source under the Apache-2.0 license, so it is free to use.

What category does receipts belong to?

receipts is listed under devtools in the Claudeers registry of Claude-compatible tools.

0 views
12 stars
unclaimed
updated about 19 hours ago

// embed badge

receipts on Claudeers
[![Claudeers](https://claudeers.com/api/badge/receipts.svg)](https://claudeers.com/receipts)

// retro hit counter

receipts hit counter
[![Hits](https://claudeers.com/api/counter/receipts.svg)](https://claudeers.com/receipts)

// reviews

// guestbook

0/500

// related in Developer Tools

🔓

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Curs…

// devtoolsaffaan-m/JavaScript227,876MIT[ claude ]
🔓

Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA

// devtoolsgarrytan/TypeScript120,814MIT[ claude ]
🔓

AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, and more). Turn any folder of code, SQL schemas, R scripts, shell scripts, docs,…

// devtoolssafishamsi/Python80,484MIT[ claude ]
🔓

🙌 OpenHands: AI-Driven Development

// devtoolsOpenHands/Python80,252NOASSERTION[ claude ]
→ see how receipts connects across the ecosystem