agentacct
v0.10.4 open-sourceSee what your coding agents did and what it cost. Breaks each task down into work steps — tools used, files changed, tests run, time and tokens spent. Local-first dashboard for Claude Code, Codex, OpenCode, and more. No login, no telemetry.
curl -s -H 'Authorization: Bearer <token>' http://127.0.0.1:8765/v1/ingestion | jq .
curl -s -H 'Authorization: Bearer <token>' http://127.0.0.1:8765/v1/tasks | jq '[.[] | select(.checks_failed > 0) | {id, checks_total, checks_passed, checks_failed}]'
agentacct onboard --scope project
curl http://127.0.0.1:8765
agentacct tui
agentacct limits
agentacct now
agentacct event verify-log
agentacct event drop-flat-ledger --confirm
AGENTACCT_EVENT_LOG_AUTHORITATIVE=0 agentacct tui
agentacct onboard --scope project Summary
See what your coding agents did and what it cost. Breaks each task down into work steps — tools used, files changed, tests run, time and tokens spent. Local-first dashboard for Claude Code, Codex, OpenCode, and more. No login, no telemetry.
Examples
Command line
No option matches that search.
| option | found in | since | description |
|---|
No option matches that search.
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Release history
- v0.10.4
agentacct v0.10.4 expands secret redaction to xAI, Groq, and Google OAuth tokens, and maps more agent tool names out of the 'other' bucket.
└──▷ GET THIS VERSION$ git clone --branch v0.10.4 https://github.com/mikehasa/agentacct.git # already have the repo? check out this version: $ git checkout v0.10.4
- ›Extends value redaction to cover xAI (
xai-), Groq (gsk_), and Google OAuth 2.0 access tokens (ya29.), and reports Anthropic keys (sk-ant-) under their own named class instead of a generic category.
- ›Extends value redaction to cover xAI (
- v0.10.2
agentacct v0.10.2 restores Claude Code usage ingestion and adds a dedicated 'Weekly plan' receipt row.
└──▷ GET THIS VERSION$ git clone --branch v0.10.2 https://github.com/mikehasa/agentacct.git # already have the repo? check out this version: $ git checkout v0.10.2
- ›Adds a dedicated 'Weekly plan' row to the Work Receipt (macOS app, CLI, and TUI) showing each task's calibrated share of the client's weekly Claude plan — displays a named calibration state instead of a fabricated number when uncalibrated.
- v0.10.1
agentacct v0.10.1 adds a user-resolve lane via
POST /v1/disposition, per-agent plan cards, and codex weekly calibration.└──▷ GET THIS VERSION$ git clone --branch v0.10.1 https://github.com/mikehasa/agentacct.git # already have the repo? check out this version: $ git checkout v0.10.1
- ›Adds
POST /v1/dispositionendpoint plus 'Mark reviewed', 'Resolve', and 'Reopen' controls to give a red finding or blocker an honest exit; a human resolution reads 'Finding resolved' or 'Blocker resolved' — never machine verification. - ›Surfaces the newest recorded blocker's own words under the task headline instead of a generic statement, so 'Why a task is blocked' is immediately readable.
- ›Expands files, commands, tools, and check rows in-place inside a Work Receipt, making a thousand-command receipt legible without a second page.
- ›Adds a per-agent plan card to the Dashboard — one row per recording agent showing only what that agent can prove, replacing the single merged account view.
- ›Adds per-Task weekly-plan share (calibrated-or-nothing, client-scoped) to the cost line, summary strip, rail, and receipts table.
+3 moreshow less
- ›Adds a dedicated 'Stopped' tab for
ended_openreceipts, keeping them out of other lifecycle tabs. - ›Adds color families to decision words (blue for done-ish claims, amber for inferred stop, green reserved for machine-verified) with a legend popover.
- ›Adds an in-record back control (and Esc) to return to the receipts list; the Work tab now always lands on the table; receipts default to latest-first with attention/cost sort one click away.
- ›Adds
- v0.10.0
agentacct v0.10.0 adds a local
GET /v1/ingestionAPI, checks tallies on/v1/tasksrows, and a rebuilt macOS Work Receipts dashboard.└──▷ GET THIS VERSION$ git clone --branch v0.10.0 https://github.com/mikehasa/agentacct.git # already have the repo? check out this version: $ git checkout v0.10.0
└──▷ TRY ITPoll the new/v1/ingestionendpoint to check per-source import health and sync state from a script or shell.$ curl -s -H 'Authorization: Bearer <token>' http://127.0.0.1:8765/v1/ingestion | jq .
Fetch/v1/tasksand inspect the new per-row check tallies to surface tasks with failing checks.$ curl -s -H 'Authorization: Bearer <token>' http://127.0.0.1:8765/v1/tasks | jq '[.[] | select(.checks_failed > 0) | {id, checks_total, checks_passed, checks_failed}]'
- ›Adds bearer-gated
GET /v1/ingestionlocal API endpoint — the/v1twin of the legacy/ingestion/healthsnapshot — advertised fromGET /v1/version. - ›Adds
checks_total,checks_passed, andchecks_failedfields to/v1/tasksrows, sourced from the same reducer as the full Receipt so list and detail views are always consistent. - ›New macOS app Dashboard surfaces work evidence: recent tasks with decision badges and evidence-tier pips, a needs-review card, live active work, the provider plan ring, and daily fresh-token history.
- ›New Work surface in the macOS app provides a receipts table with lifecycle filter tabs, evidence-tier pips with checked/checkable ratios, a checks rail with failure annotations, cost, and recency — plus a Receipt record page with a dimensions ledger carrying provenance chips, inline gap annotations, a checks card, and an evidence-coverage card with a counted tier legend.
- ›New Sources pane in the macOS app renders
/v1/ingestiondata: per-source import state and recency, continuous-sync watcher state, actionable issues, a verifier shelf, and a local-only scope card.
+1 moreshow less
- ›New Stamped Tile brand mark ships as a deterministic generator script for the app icon, a top-bar lockup, and a menu-bar template mark.
- ›Adds bearer-gated
- v0.9.0
agentacct v0.9.0 adds multi-agent Work Receipts across Claude Code, Codex, OpenCode, and Hermes, plus a signed macOS app.
└──▷ GET THIS VERSION$ git clone --branch v0.9.0 https://github.com/mikehasa/agentacct.git # already have the repo? check out this version: $ git checkout v0.9.0
└──▷ TRY ITScope onboarding to the current repo only, writing no global files, when you want per-project isolation.$ agentacct onboard --scope project
Poll the local JSON API for machine-readable task data from a shell script or external tool.$ curl http://127.0.0.1:8765- ›Adds
agentacct onboardauto-detection and instrumentation of all four supported coding agents (Claude Code, Codex, OpenCode, Hermes) in a single run. - ›Adds
agentacct tuilive terminal dashboard showing tasks, evidence tiers, cost, and checks across all four agents. - ›Adds
agentacct onboard --scope projectfor a per-repo install instead of the default global install. - ›Starts a loopback-only local JSON API at
http://127.0.0.1:8765during onboarding for machine-readable polling by shells and scripts. - ›Supports four coding agents — Claude Code, Codex, OpenCode, and Hermes — through a single client-agnostic Task and Work Receipt model.
+5 moreshow less
- ›Derives Receipt Actions (commands run, files edited, tools used) from each agent's own on-disk transcript store at import time for agents whose hooks do not fire (Codex, OpenCode), with no hook required.
- ›Adds independent check evaluation for OpenCode using recorded exit codes to promote steps from
self-checkedtoindependently-checked. - ›Labels Actions provenance per session — distinguishing live client-hook observations from transcript-scan derivations — so scan-derived data is never presented as hook-observed.
- ›Ships a signed and notarized macOS app (
agentacct-0.9.0.dmg) bundling the CLI; requires macOS 14+. - ›Adds a weekly Claude plan cost-fraction estimate per task, calibrated from the user's own recorded limit history rather than raw token counts.
- ›Adds
- v0.8.0
agentacct v0.8.0 adds a shareable SVG snapshot key, a
plancolumn on the sessions list, and store-fallback for global installs.└──▷ GET THIS VERSION$ git clone --branch v0.8.0 https://github.com/mikehasa/agentacct.git # already have the repo? check out this version: $ git checkout v0.8.0
- ›Read commands (
tui,now,limits) now fall back to the machine-wide store when run from a directory with no project store, so a global install no longer requires--store-dir; a misconfigured--store-dirorAGENTACCT_STORE_DIRnow surfaces its error instead of silently reading the global store. - ›Press
pfrom any screen inagentacct tuito save a shareable SVG snapshot of the current view, written under the store (not the working directory), renderable in any browser or on GitHub. - ›The full sessions list (press
sinagentacct tui) now includes the same weekly-planplan% column shown on the home panel. - ›The per-session weekly-plan % figure is now displayed only when it has been calibrated from your own recorded limit history; otherwise the session detail shows a 'calibrating from your own usage' note and the list shows
—, replacing the previous shipped universal baseline.
- ›Read commands (
- v0.7.0
agentacct v0.7.0 adds a live TUI dashboard, session step drill-downs, plan-consumption estimates, and new CLI commands
tui,limits,now, andsync.└──▷ GET THIS VERSION$ git clone --branch v0.7.0 https://github.com/mikehasa/agentacct.git # already have the repo? check out this version: $ git checkout v0.7.0
└──▷ TRY ITLaunch the live terminal dashboard to monitor usage, costs, and rate-limit windows across all agents without leaving the terminal.$ agentacct tuiCheck current provider rate-limit windows and remaining quota read from local files, without opening a browser.$ agentacct limitsPrint a current usage and cost snapshot for a quick status check from a script or shell alias.$ agentacct now- ›New
agentacct tuicommand launches a live terminal dashboard showing calendar usage windows (today / last 7 days / last 30 days / all time), by-client and top-models breakdowns, and provider rate-limit bars with used-percentage and reset countdowns — no browser or credentials needed. - ›Within
agentacct tui, pressufor a per-day or per-week token and cost time series with by-model detail, scoped to one client or model withc/mkeys. - ›Within
agentacct tui, presssto drill into sessions, showing each run and its subagents folded into one row with step-level status (in progress,handed off,done,blocked) and machine-check results including pass/fail marks and exit codes. - ›New
agentacct limitscommand reports provider rate-limit windows read passively from local files — Codex session rollouts, Claude desktop plan-usage history, and a lightweight Claude CLI status-line hook. - ›New
agentacct nowcommand prints a current usage and cost snapshot for a chosen window.
+3 moreshow less
- ›New
agentacct synccommand forces an on-demand re-sync of MCP config, hooks, and instructions across client integrations. - ›Adds a
plancolumn and per-task '≈ X% of your weekly plan' estimate to the home panel and session detail, weighted per model from a measured baseline and self-calibrated from your own 7-day recorded usage history (including Codex and Claude CLI). - ›Signed-out or cancelled provider accounts with frozen limit readings are now automatically detected and hidden from the limits panel.
- ›New
- v0.6.0
agentacct v0.6.0 makes SQLite the default event ledger and adds three new commands to manage the migration
└──▷ GET THIS VERSION$ git clone --branch v0.6.0 https://github.com/mikehasa/agentacct.git # already have the repo? check out this version: $ git checkout v0.6.0
└──▷ TRY ITConfirm the SQLite ledger is a faithful copy of the old flat file before retiring it — useful right after an upgrade when both files still exist.$ agentacct event verify-logRemove theevents.jsonlbackup once you've verified the SQLite copy is complete and no old daemons are still writing to it.$ agentacct event drop-flat-ledger --confirm
Keep a long-running daemon on the legacy flat-file path while you test the SQLite upgrade on a separate machine.$ AGENTACCT_EVENT_LOG_AUTHORITATIVE=0 agentacct tui- ›Switches the default event ledger from
events.jsonltoevents.sqlite3, eliminating full-file re-parses on every read and write. - ›Adds
AGENTACCT_EVENT_LOG_AUTHORITATIVE=0environment variable to opt back into the legacy flat-file mode after upgrading. - ›Adds
agentacct event verify-logcommand to prove the SQLite copy matches a flat file line-for-line. - ›Adds
agentacct event drop-flat-ledger --confirmcommand to retire theevents.jsonlbackup once a store has fully cut over. - ›Adds
agentacct canonical rebuild-storecommand to rebuild the SQLite usage index from the authoritative ledger.
+1 moreshow less
- ›Existing
events.jsonlstores auto-adopt SQLite on first open, keeping the flat file as a backup; straggler writes from not-yet-restarted daemons are drained into the new log so no events are lost during rolling upgrades.
└──▷ BREAKING ON UPGRADE- !The owner-gated
agentacct evidence rebuildsubcommands (snapshot / build-candidate / activate / rollback) have been removed entirely; the rebuild subsystem that replayed the v1 ledger fromevents.jsonlis gone.
- ›Switches the default event ledger from
- v0.5.3
agentacct v0.5.3 surfaces refused-recording counts, honest partial/stopped task states, and a new
handed_offsection status└──▷ GET THIS VERSION$ git clone --branch v0.5.3 https://github.com/mikehasa/agentacct.git # already have the repo? check out this version: $ git checkout v0.5.3
- ›Adds a
handed_offsection status so an agent can record a clean stop when continuing in a new session, stored as a terminal state rather than a live one. - ›Local logs now surface counts and reason codes for every recording call agentacct refused — derived at read time from existing on-disk data, covering refusals that predate this release, storing only counts and reason codes (never the offending value or path).
- ›Tasks now expose a partial verification count (e.g. '3 of 5 steps verified') instead of a single verified/unverified flag.
- ›Adds a
- v0.4.0
agentacct v0.4.0 makes
onboardglobal by default, writing zero files into your repo.└──▷ GET THIS VERSION$ git clone --branch v0.4.0 https://github.com/mikehasa/agentacct.git # already have the repo? check out this version: $ git checkout v0.4.0
└──▷ TRY ITOpt into a per-repo install instead of the new global default, scoping hooks and state to a single project.$ agentacct onboard --scope project
- ›Changes
agentacct onboardto install globally by default (zero repo files written); useagentacct onboard --scope projectfor a per-repo install instead.
- ›Changes