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/*.jsonlfiles, 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 optimizesurface 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_idsubtree 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 infingerprintFile.session-cache.tsonly 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
maxCostat 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