Multi-agent, no interception
Claude Code, Codex CLI, Copilot CLI, and Cursor — all attributed by the same daemon. Reads the transcript files those tools already write to disk. Nothing in your network path.
Reads transcripts from disk — no proxy
After brew install, three things run on your machine: a small daemon that tails the transcripts your agents
already write to disk, a status bar in your editor, and a CLI for repo / branch / ticket
attribution. Nothing in your network path.
brew install siropkin/budi/budi && budi init curl -fsSL https://getbudi.dev/install.sh | sh irm https://getbudi.dev/install.ps1 | iex Today 7d 30d
──────────────────────────────────────────────────
$ 4.92 session 🟢 healthy $ 38.10 $ 162.44
Top repos (last 7d) cost msgs
──────────────────────────────────────────────────
siropkin/budi $ 18.40 21,402
acme/web $ 11.05 9,118
acme/infra $ 6.32 2,845
personal/notes $ 2.33 661
Top models (last 7d) cost share
──────────────────────────────────────────────────
claude-opus-4-7 $ 22.18 58.2 %
claude-sonnet-4-6 $ 9.41 24.7 %
claude-haiku-4-5 $ 4.02 10.6 %
gpt-5-codex $ 2.49 6.5 %
Branch hot list cost ticket
──────────────────────────────────────────────────
budi/feat/cloud-ingest $ 6.91 BUD-214
acme/web/fix/checkout-retry $ 4.38 WEB-1180
acme/web/feat/analytics-v3 $ 3.12 WEB-1199 What it does
Claude Code, Codex CLI, Copilot CLI, and Cursor — tracked by tailing the transcripts each agent already writes to disk. No proxy, no gateway, nothing in your network path.
Claude Code, Codex CLI, Copilot CLI, and Cursor — all attributed by the same daemon. Reads the transcript files those tools already write to disk. Nothing in your network path.
Reads transcripts from disk — no proxy Cost attributed to the repo and branch you were on, with ticket IDs lifted from branch names. Filter by ticket, activity, file, model, or custom tag.
budi stats branch · ticket · file Rolling 1d / 7d / 30d cost in Claude Code, Cursor, VS Code, and JetBrains IDEs — scoped per host. The Cursor line shows Cursor spend only; the VS Code and JetBrains lines show their own Copilot Chat spend only.
_projects/budi · main · budi · $3.47 session · $0.06 message budi sessions <id> shows context growth, cache reuse, cost acceleration, and retry loops in plain English. Not a wall of emoji by default — quiet unless you ask.
budi sessions <id> // src/lib/payments.ts
export async function refundCharge ( id : string ) {
return stripe.refunds. create({ charge: id });
}
cursor. Each editor shows only its own host's
spend.
// src/lib/payments.ts
export async function refundCharge ( id : string ) {
return stripe.refunds. create({ charge: id });
}
copilot_chat. Each editor shows only its own host's
spend.
// src/lib/payments.ts
export async function refundCharge ( id : string ) {
return stripe.refunds. create({ charge: id });
}
copilot_chat. Each editor shows only its own host's
spend.
Session 2968337c-1e4
──────────────────────────────────────────────────
Agent claude_code
Models claude-opus-4-7
Started 2026-05-06T02:22:27.194+00:00
Duration 2m22s
Repos github.com/siropkin/budi-cloud
Branches 151-repos-companion-tables, main
Outcome no_commit
…explanation…
Messages 22
Input 32
Output 10.8K
Est. cost $1.70
Tags
file_path: src/lib/dal.ts
…
🟢 Vitals: GREEN budi sessions <id> — session health in plain English. No dashboard required.
Why not just use X?
| Capability | Provider dashboards | ccusage / claude-usage | SaaS cost trackers | Budi |
|---|---|---|---|---|
| Multi-agent | ✗ | ✗ | ✓ | ✓ |
| Repo / branch / ticket attribution | ✗ | ✗ | Partial | ✓ |
| Local-only by default | ✓ | ✓ | ✗ | ✓ |
| No prompts uploaded | ✓ | ✓ | ✗ | ✓ |
| Live statusline | – | – | – | ✓ |
| Team aggregates | – | – | ✓ | ✓ |
| Cross-agent rollups | – | – | ✓ | ✓ |
Anthropic Console · OpenAI usage · Cursor usage
ccusage · codeburn · claude-usage
Generic observability vendors that ingest LLM payloads
Local daemon · transcript tailing · multi-agent · opt-in dashboard
Privacy contract
A small Rust daemon on your machine watches the transcript files your agents already write to disk. Nothing sits in your network path. Three things in plain English:
budi cloud init --api-key <key> --force --yes. One
command, no editor required.
Online dashboard
The daemon pushes pre-aggregated daily numbers — tokens, cost, model, repo, branch, ticket — to app.getbudi.dev. Never prompts, code, or file paths. Free and open source for any use.
Today
$4.92
healthy
7 days
$38.10
+12%
30 days
$162.44
3 agents
Messages
21,402
7d total
Cost by repo (7d)
Cost by model (7d)
budi stats project, visible from any
browser. Aggregates only, never prompts or code.
Community
Budi is MIT-licensed and built in the open. Star the repo, sponsor the work, or just say hi in an issue.
FAQ
Editor coverage, Copilot, JetBrains, and why budi reads local logs instead of going through a proxy. If yours isn't here, open an issue.
By default, nothing. Optionally, only pre-aggregated daily numbers (tokens, cost, model, hashed repo ID, branch, ticket ID). Never prompts, code, responses, file paths, or emails.
Yes — fully free and open source (MIT) for any use, including teams and commercial projects. The daemon, CLI, and extensions are free forever. The optional online dashboard at app.getbudi.dev is also free.
VS Code, Cursor, and JetBrains IDEs. One extension covers VS Code and Cursor; a sibling plugin covers JetBrains via the JetBrains Marketplace.
Claude Code, Codex CLI, Copilot CLI, Copilot Chat, and Cursor. The daemon reads the transcript and log files these tools already write to disk — no proxy, no interception.
Most providers surface within seconds. Some providers involve a short delay when cost data comes from an external API. See the provider table above for details.
Prior art. Budi's local-first approach is inspired by ccusage, claude-usage, and codeburn. If you only need one agent, those tools are excellent.