Skip to content

Releases: getagentseal/codeburn

v0.9.15

Choose a tag to compare

@iamtoruk iamtoruk released this 02 Jul 04:32
8438409

What's New

Highlights since v0.9.14:

Added (CLI)

  • codeburn context. See what fills a session's context window, by role, block type, and tool: an interactive terminal browser over your Claude Code and Codex sessions, separating the live window from compacted history and anchoring estimates to the exact API-reported context size. Also a Context page in the browser dashboard, and scriptable via codeburn context <id> --json. (#592)
  • Zed provider. Zed's built-in agent is now tracked: per-request token usage with full cache fields, topped up to each thread's exact cumulative counter and validated token-for-token against a real store. (#594, format documented by @chatzinikolakisk in #480)
  • codeburn audit. Per provider-and-model table of where every number comes from: calls, input, output, reasoning, cache read/write, cost. (#578)
  • User price overrides for any model via codeburn price-override. (#560, thanks @ozymandiashh)
  • open-design provider for per-model usage tracking. (#559, thanks @ozymandiashh)
  • Browser dashboard is now fully mobile responsive (#582, thanks @ele-yufo; #589) and paints instantly with the local payload inlined, defaulting to today with fast-fail for offline paired devices. (#573)

Fixed (CLI)

  • Cursor tokens are now Cursor's own numbers. Input comes from the per-conversation context meter instead of text-length guesses, credited once per conversation on a stable anchor so daily history stays consistent across re-scans; tools and shell commands come from the agent stream; Composer house models price at Cursor's published rates; figures are flagged estimated where they are. Fixes the class of report in #574 and closes #326. (#575)
  • Copilot Chat users no longer see $0.00: VS Code core chatSessions journals are read for token counts. (#563, thanks @ozymandiashh)
  • Codex sessions up to 4GB are parsed (streaming cap raised). (#569)
  • Devin: ATIF v1.7 support (#570, thanks @tvcsantos) and friendly GPT model names with effort tiers. (#585)
  • OpenCode skills and subagents breakdowns populated. (#557, thanks @KevNev19)
  • Pi native skill loads classify as Skill, not Read. (#590)
  • Cache read/write scoped to the selected period in web and devices CLI. (#586, thanks @ozymandiashh)
  • Invalid dashboard periods return an error instead of exiting the web server. (#554, thanks @ozymandiashh)
  • LiteLLM pricing snapshot refreshed; MiniMax-M3 follows MiniMax's new tiered pricing (standard tier $0.30/$1.20 per M). Daily cache bumped to v10 so history re-hydrates under the new Cursor accounting and pricing.

macOS menubar

  • Local/Combined usage toggle backed by combined multi-device data in menubar-json. (#567, #568, thanks @ozymandiashh)
  • The update dialog now detects a codeburn CLI too old to install menubar updates and shows the exact CLI upgrade command first. (#593)

Thanks to @ozymandiashh, @tvcsantos, @KevNev19, @ele-yufo, and @chatzinikolakisk for contributions this release.

The macOS menubar app is published separately as mac-v0.9.15.

What's Changed

New Contributors

Full Changelog: v0.9.14...v0.9.15

Menubar v0.9.15

Choose a tag to compare

@iamtoruk iamtoruk released this 02 Jul 04:32
8438409

Install with:

npm install -g codeburn
codeburn menubar

That command drops the app into ~/Applications, records the persistent
codeburn CLI path used by the menubar, verifies the downloaded checksum,
clears quarantine after bundle verification, and launches it. If you download
the zip from this page directly and macOS shows "cannot verify developer",
right-click the app in Finder and pick Open to whitelist it once.

Changes in 0.9.15:

  • The update dialog detects a codeburn CLI too old to install menubar updates (pre-0.9.9) and shows the exact CLI upgrade command first. (#593)
  • Local/Combined usage toggle backed by combined multi-device data. (#567, #568, thanks @ozymandiashh)

CLI release: v0.9.15

sha256: bf9dbaff413057142d5a872d76a9e52c09c15fe565300ec3296683c3b88e93da

v0.9.14

Choose a tag to compare

@iamtoruk iamtoruk released this 22 Jun 01:56
69eee2c

What's New

Highlights since v0.9.12:

Added (CLI)

  • Browser dashboard. codeburn web serves a local React dashboard with charts and the same task, model, tool, and project breakdowns as the TUI. Reads from disk, binds to localhost. (#531, #533)
  • Combine usage across your devices. codeburn share and codeburn devices join usage across your machines on the local network, PIN-paired. You can also discover and pair devices from the browser. (#532, #534, #536)
  • New providers: Grok Build (#521), ZCode / z.ai GLM-5.2 (#537), Hermes Agent (#544), Kiro CLI sessions (#502), and zerostack (#519, thanks @kevinpauer).
  • codeburn overview, a copy-pasteable plain-text monthly summary. (#528, #535)
  • Codex credit usage alongside dollar cost (#510), MCP server usage in JSON/CSV exports (#514), and JSON output for optimize and yield (#500).
  • OpenCode 1.1+ file-based sessions (#523) and a Claude-scoped agent-type breakdown.

Fixed (CLI)

  • Model names in reports no longer show internal pricing-alias keys: GLM-5.2, Grok Build, gpt-5.5, and gpt-5.3-codex-spark all label correctly. (#548, #550, #539)
  • Daily cache bumped to v9 so newly supported providers backfill across history without a manual cache clear. (#550)
  • Cursor range-aware scan (#512), cursor-agent workspace-less layout (#542), Claude project-name grouping (#540), Copilot shell and skills display (#527), Codex MCP-call attribution (#513), Antigravity CLI layout (#541).

macOS menubar

  • Custom daily budget that respects the display metric (#505, #506), agent tabs ordered by usage for the selected range (#549), fewer keychain prompts on refresh (#491), the macOS 27 right-click menu (#472), and installer HTTP-proxy support (#475).

Thanks to @ozymandiashh, @jonjozwiak, @kevinpauer, @tvcsantos, @steelp02, @sleicht, @theparlor, and @vaibhavarora14 for contributions this release.

The macOS menubar app is published separately as mac-v0.9.14.

What's Changed

  • chore(ci): bump GitHub Actions to Node 24 versions by @iamtoruk in #468
  • Track + break down workflow/ultra subagent usage (fix #470) by @iamtoruk in #471
  • fix(mac): restore right-click status-item menu on macOS 27 by @theparlor in #472
  • fix(menubar): support installer HTTP proxies by @sleicht in #475
  • fix(menubar): stop repeated keychain prompts on token refresh (#490) by @iamtoruk in #491
  • feat(copilot): OTel cache-token parsing (#477) + maintainer review fixes by @iamtoruk in #498
  • feat(providers): [copilot.ts]Add OTel cache token parsing including tests and regression checks. by @steelp02 in #477
  • fix(menubar): reduce repeated status parsing (#486) + clock-skew guard by @iamtoruk in #499
  • fix(menubar): reduce repeated status parsing by @vaibhavarora14 in #486
  • feat(cli): JSON output for optimize and yield (#492) by @iamtoruk in #500
  • fix(cli): validate --provider and make non-TTY report deterministic by @iamtoruk in #501
  • feat(kiro): add Kiro CLI session discovery and parsing (#476) by @iamtoruk in #502
  • test(usage-aggregator): fix timeout flake by building against an empty HOME by @iamtoruk in #503
  • test(cli-proxy-path): fix load-timeout flake by raising the test timeout by @iamtoruk in #504
  • feat(menubar): daily budget alert respects the display metric (Cost or Tokens) (#497) by @iamtoruk in #505
  • feat(menubar): custom daily budget amount by @iamtoruk in #506
  • fix(menubar): explicit observation dependency for the budget flame by @iamtoruk in #507
  • fix(menubar): cost budget stays USD; flag empty custom budget by @iamtoruk in #508
  • feat(menubar): polish status-item menu + About tab (Star/Sponsor) by @iamtoruk in #509
  • feat(codex): compute Codex credit usage (#408, #495) by @iamtoruk in #510
  • fix(menubar): drop ' tok' suffix from Total Tokens metric (#497) by @iamtoruk in #511
  • fix(cursor): range-aware scan instead of blind 250k ROWID cap (#482) by @iamtoruk in #512
  • fix(codex): attribute MCP calls emitted as event_msg/mcp_tool_call_end (#478) by @iamtoruk in #513
  • feat(export): surface MCP server usage in JSON and CSV exports (#496) by @iamtoruk in #514
  • Overhaul README: story layout, logo wall, tables, refreshed sponsor section by @iamtoruk in #516
  • docs: finish README overhaul (collapsible sections, 'AI tools' wording) by @iamtoruk in #518
  • Add zerostack provider by @kevinpauer in #519
  • docs: add zerostack to the supported-tools logo wall by @iamtoruk in #520
  • feat(providers): add Grok Build provider by @iamtoruk in #521
  • docs: add Grok Build to the supported-tools logo wall by @iamtoruk in #522
  • feat(opencode): read file-based JSON sessions (OpenCode 1.1+) by @iamtoruk in #523
  • fix(dashboard): scope the plan banner to its own provider tab by @iamtoruk in #524
  • feat(overview): plain-text monthly usage overview command by @iamtoruk in #528
  • chore(dev): silence the tsx module.register deprecation warning by @iamtoruk in #529
  • fix: fix and improve test isolation and collision with environment by @tvcsantos in #530
  • feat(web): local React/Recharts dashboard (codeburn web) by @iamtoruk in #531
  • feat(sharing): securely combine usage across your own devices by @iamtoruk in #532
  • feat(web): show usage by device in the dashboard by @iamtoruk in #533
  • feat(web): in-dashboard device discovery, share-from-browser, redesign + hardening by @iamtoruk in #534
  • feat(overview): cache in/out tokens table, roomier tables by @iamtoruk in #535
  • feat(devices): joined Totals by machine report by @iamtoruk in #536
  • feat(providers): add ZCode (z.ai GLM-5.2) usage provider by @iamtoruk in #537
  • docs: add ZCode to the supported-tools list by @iamtoruk in #538
  • Fix Claude Code project names collapsing to a parent folder by @ozymandiashh in #540
  • feat(providers): add Hermes Agent provider by @iamtoruk in #544
  • Distinguish gpt-5.3-codex-spark from base GPT-5.3 Codex label by @ozymandiashh in #539
  • fix(cursor-agent): ingest workspace-less CLI transcript layout by @ozymandiashh in #542
  • fix(models): price Hermes lowercase glm-5.2 the same as GLM-5.2 by @ozymandiashh in #545
  • fix(antigravity): read current agy antigravity-cli on-disk layout by @ozymandiashh in #541
  • fix(copilot): Correct shell commands and skills/agents display by @jonjozwiak in #527
  • fix(menubar): surface CLI stdout/stderr on decode failure (#515) by @iamtoruk in #547
  • fix(pi): label gpt-5.5 as GPT-5.5 by @iamtoruk in #548
  • fix(menubar): show every active agent as a tab, ordered by usage for the selected range by @iamtoruk in #549
  • fix: clean model names in reports and re-hydrate daily cache for new providers by @iamtoruk in #550
  • chore(release): 0.9.14 by @iamtoruk in #551

New Contributors

Full Changelog: v0.9.12...v0.9.14

Menubar v0.9.14

Choose a tag to compare

@github-actions github-actions released this 22 Jun 01:53
69eee2c

Install with:

npm install -g codeburn
codeburn menubar

That command drops the app into ~/Applications, records the persistent
codeburn CLI path used by the menubar, verifies the downloaded checksum,
clears quarantine after bundle verification, and launches it. If you download
the zip from this page directly and macOS shows "cannot verify developer",
right-click the app in Finder and pick Open to whitelist it once.

Menubar v0.9.13

Choose a tag to compare

@github-actions github-actions released this 14 Jun 08:36
694e8ce

Install with:

npm install -g codeburn
codeburn menubar

That command drops the app into ~/Applications, records the persistent
codeburn CLI path used by the menubar, verifies the downloaded checksum,
clears quarantine after bundle verification, and launches it. If you download
the zip from this page directly and macOS shows "cannot verify developer",
right-click the app in Finder and pick Open to whitelist it once.

v0.9.12

Choose a tag to compare

@iamtoruk iamtoruk released this 09 Jun 23:02

What's New

Highlights since v0.9.11:

Added (CLI)

  • MCP servercodeburn mcp exposes get_usage and get_savings to AI agents over stdio, with project names pseudonymized by default. (#429)
  • New providers: Devin (#444), Antigravity IDE (#418), JetBrains — IntelliJ/DataGrip via Copilot (#433), coder/mux (#438), and an opt-in Vercel AI Gateway datasource (#432).
  • Automatic pricing gap-fill from models.dev and OpenRouter for models LiteLLM hasn't indexed yet (e.g. Claude Fable 5). (#457)
  • Proxy-aware cost attributioncodeburn proxy-path reports subscription-backed spend (e.g. Claude Code over Copilot) as net out-of-pocket, leaving actual cost untouched. (#417, #459)
  • Local-model savingscodeburn model-savings reports the counterfactual spend vs a paid baseline; the local call still costs $0. (#421)
  • CNY currency (#430) and a contribution heatmap insight (#437).

Fixed (CLI)

  • Per-file parse isolation — one malformed session file no longer aborts the run or empties the daily-history trend. (#441, #450, #453)
  • Codex fork dedupe undercounting (#458) and cache-read double-counting in the models report (#447).
  • Model-name matching on the version boundary so claude-opus-4-6 and claude-opus-4-8 don't collapse. (#417)
  • Critical-path fetch timeouts so a stalled network can't wedge the CLI or menubar. (#445, #448)
  • Vercel AI Gateway data now flows through aggregation instead of reporting $0; Fable 5 and Mythos 5 price correctly. (#432, #466)

Fixed (macOS menubar)

  • Refresh reliability — awaits the CLI exit via its termination handler and caps concurrent spawns, fixing the "Loading…" wedge after a long idle. (#462)
  • Recover from stuck loading orphaned across sleep/wake (#412); correct currency picker (#435).

The macOS menubar app is published separately as mac-v0.9.12.

What's Changed

  • fix(menubar): recover from stuck loading when in-flight entry is orphaned by @iamtoruk in #412
  • Fix Antigravity hook stale CLI paths by @ozymandiashh in #410
  • fix(menubar): run CLI exit-wait and timeout off the cooperative pool by @iamtoruk in #426
  • feat(mcp): codeburn mcp server exposing usage + savings to AI agents by @iamtoruk in #429
  • Add CNY currency support by @PorunC in #430
  • fix(menubar): use SupportedCurrency enum in settings picker by @iamtoruk in #435
  • feat(menubar): configure CLAUDE_CONFIG_DIRS via Settings by @iamtoruk in #436
  • Add contribution heatmap insight by @PorunC in #437
  • feat(providers): add coder/mux as a datasource by @ThomasK33 in #438
  • refactor(mux): drop dead openai reasoning fallback by @iamtoruk in #446
  • fix(models-report): stop double-counting cache reads by @iamtoruk in #447
  • fix(network): add timeouts to critical-path fetches (#445) by @iamtoruk in #448
  • fix(parser): tolerate string message content; isolate per-file parse failures (#441) by @iamtoruk in #450
  • fix(parser): cache parse failures so broken files aren't re-read every run (#441 follow-up) by @iamtoruk in #453
  • feat(cli): local-model cost savings, re-homed onto current main (#421) by @iamtoruk in #454
  • feat(cli): track local-model cost savings against a paid baseline (#421) by @justingheorghe in #423
  • feat(menubar): add macOS app icon by @iamtoruk in #455
  • feat: add JetBrains (IntelliJ/DataGrip) session discovery and parsing by @zuberikea in #433
  • test(copilot): JetBrains coverage + Windows path inference fix (#433 follow-up) by @iamtoruk in #456
  • fix(codex): content-address fork dedupe key to stop undercounting divergent events by @iamtoruk in #458
  • feat(pricing): Fable 5 + Mythos 5 launch pricing + names by @iamtoruk in #463
  • feat(pricing): automatic gap-fill from models.dev and OpenRouter by @iamtoruk in #457
  • chore(pricing): drop manual Fable/Mythos patch, rely on gap-fill by @iamtoruk in #464
  • fix(menubar): await terminationHandler, not a blocked queue thread (real fix for the Loading wedge) by @iamtoruk in #462
  • feat(pricing): proxy-aware cost attribution for subscription-backed Claude (#417) by @iamtoruk in #459
  • fix(menubar-tests): compile fix for localModelSavings/savingsUSD by @iamtoruk in #465
  • feat: add devin provider by @tvcsantos in #444
  • feat(antigravity-ide): added support for antigravity IDE by @KirDE in #418
  • fix(cursor): period-aligned lookback; add Vercel AI Gateway provider by @sisodiabhumca in #432
  • fix: Vercel Gateway aggregation, Mythos pricing, Claude parse isolation by @iamtoruk in #466
  • chore(release): 0.9.12 by @iamtoruk in #467

New Contributors

Full Changelog: v0.9.11...v0.9.12

Menubar v0.9.12

Choose a tag to compare

@github-actions github-actions released this 09 Jun 23:04

Install with:

npm install -g codeburn
codeburn menubar

That command drops the app into ~/Applications, records the persistent
codeburn CLI path used by the menubar, verifies the downloaded checksum,
clears quarantine after bundle verification, and launches it. If you download
the zip from this page directly and macOS shows "cannot verify developer",
right-click the app in Finder and pick Open to whitelist it once.

v0.9.11

Choose a tag to compare

@iamtoruk iamtoruk released this 27 May 13:12
a555c74

What's New

Fixed (CLI)

  • Forge dedup key instability. The fallback deduplication key used the raw message array index, which shifts when messages are deleted between scans. Now uses a composite of model name and token counts. Also fixed a variable reference before its declaration that would crash at runtime when no tool call ID was present.
  • Session cache rejected subagentTypes field. The cache validator did not recognize the subagentTypes array, causing entries with this field to be silently dropped and reparsed on every run.
  • Conflicting date flags on status accepted silently. Passing --day with --from/--to, or --days with any other date flag, produced undefined behavior. Now exits with a clear error message.

Changed (CLI)

  • OpenCode provider uses shared SQLite parser. Delegates to sqlite-session-parser.ts (same module KiloCode uses), reducing the provider from 498 to 66 lines with no behavior change.

Fixed (macOS menubar)

  • Loading watchdog killed healthy CLI fetches. The recovery loop ran every 8 seconds with no backoff. Each attempt reset the generation counter, discarding in-flight CLI responses (45s timeout) before they could finish. Replaced with exponential backoff (8s to 60s, 6 attempts max) that skips recovery when a fetch is already in flight. Shows an error overlay with a Retry button after all attempts are exhausted.
  • Multi-day cache key mismatch. selectedDay returned the earliest date instead of nil when multiple days were selected, and startInteractiveSelectionRefresh did not pass the day set to the cache key constructor. Both now match PayloadCacheKey normalization rules.

The macOS menubar is published separately as mac-v0.9.11.

What's Changed

New Contributors

Full Changelog: v0.9.10...v0.9.11

Menubar v0.9.11

Choose a tag to compare

@iamtoruk iamtoruk released this 27 May 13:13
a555c74

Added

  • CLI update notification. When a newer CLI version is published, a blue banner appears above the star row showing the version and a copy button for the update command (brew upgrade codeburn or npm update -g codeburn, detected automatically from how the CLI was installed).

Fixed

  • Loading watchdog killed healthy CLI fetches. The recovery loop ran every 8 seconds with no backoff. Each attempt reset the generation counter, discarding in-flight CLI responses (45s timeout) before they could finish. Replaced with exponential backoff (8s to 60s, 6 attempts max) that skips recovery when a fetch is already in flight. Shows an error overlay with a Retry button after all attempts are exhausted.
  • Multi-day cache key mismatch. selectedDay returned the earliest date instead of nil when multiple days were selected, and startInteractiveSelectionRefresh did not pass the day set to the cache key constructor. Both now match PayloadCacheKey normalization rules.
  • Dead code cleanup. Removed RefreshBackoff.swift, its test file, and a broken test that called methods deleted in #393.

Install with:

npm install -g codeburn@0.9.11
codeburn menubar

That command drops the app into ~/Applications, records the persistent
codeburn CLI path used by the menubar, verifies the downloaded checksum,
clears quarantine after bundle verification, and launches it. If you download
the zip from this page directly and macOS shows "cannot verify developer",
right-click the app in Finder and pick Open to whitelist it once.

v0.9.10

Choose a tag to compare

@iamtoruk iamtoruk released this 20 May 11:24

What's New

Added (CLI)

  • Agent and subagent tracking coverage across providers. Gemini sessions now emit one provider call per assistant message with token usage instead of one aggregate call per session, preserving per-message tools, bash commands, timestamps, and nearest user prompts. Existing cached aggregate Gemini entries are reparsed so the new per-message shape takes effect. Claude discovery also scans direct project-level subagents/*.jsonl files, and Codex agent tool normalization is covered by regression tests. Addresses #336. Thanks @ozymandiashh. (#340)
  • Optimize tab with retry tax, routing waste, and token display modes. New codeburn optimize surface in the dashboard and menubar, with daily budget alerts and project drill-down. (#349)

Fixed (CLI)

  • OpenCode child sessions attributed to their root session. The OpenCode parser walks the unarchived session.parent_id subtree so child and grandchild agent sessions contribute token and tool usage under the discovered root session, while still excluding child sessions from top-level discovery to avoid double counting. Thanks @ozymandiashh. (#343)
  • OpenCode router sessions with missing usage are still reported. Some OpenCode router/provider combinations persist assistant messages with text or tool activity but zero token and cost fields. The parser now keeps those turns as zero-cost calls instead of dropping the session entirely. Closes #341. Thanks @ozymandiashh. (#342)
  • OpenCode and Goose sessions on fresh installs. Both providers returned zero sessions on first run when their on-disk directories did not yet exist. Discovery now treats missing directories as empty. (#347)
  • One-shot rate detection for all non-Claude providers. Retry detection now sees multi-message flows correctly across providers, not only Claude. Follow-up to the v0.9.9 fix. (#355)
  • Cursor #cursor-ws= compound-path separator in fingerprintFile. session-cache.ts only handled the OpenCode : separator, so Cursor's workspace-aware paths could fall back incorrectly. The fingerprint now strips both # and : compound suffixes. Thanks @renerichter. (#358)
  • Per-provider multi-day data loss, division-by-zero, and decode fragility. Switching to Claude/Codex tab on 7-day/30-day/month periods previously only showed today's categories, models, sessions, and tokens because the cache shortcut only merged cost/calls. Per-provider periods now always do a full parse. Also floors maxCost at 0.01 to avoid NaN bar widths in ActivitySection and ModelsSection. (#362)

Fixed (macOS menubar)

  • Per-provider refresh latency. Switching provider tabs took about 24s on heavy histories. Now about 2s via session cache safety and reuse. (#344)

The macOS menubar is published separately as mac-v0.9.10.

Full Changelog: v0.9.9...v0.9.10