Vibalytics
Local activity stats for Claude Code and Codex CLI usage, right inside VS Code — tokens, sessions, messages, cost estimates, and per-model breakdowns, all parsed entirely from your own machine.
Why
If you live in Claude Code or Codex, you have no easy way to see how much you're actually using them. Vibalytics reads the session logs those tools already write to disk and turns them into a dashboard — no Vibalytics account and no API keys. Data stays on your computer unless you explicitly enable cross-device Settings Sync.
Features
- Status bar metric — a live glance at today's tokens (or sessions/messages) for Claude and Codex, configurable.
- Plan limits in the status bar — when Claude Code or Codex has left a usage reading on disk, an extra item on the right of the status bar, badged with the Anthropic or OpenAI logo, shows the tighter of the two windows:
5h 53% (2h) or 1w 77% (1d), whichever is further used (a 5-hour window past 80% wins unless the weekly one is past 95%). Hover for both windows and their reset times. Hide or restore every Vibalytics status bar item with Vibalytics: Toggle Status Bar Items.
- Sidebar dashboard — a compact activity view in the VS Code activity bar: recent activity, last-week chart, a 10-week heatmap, top models, recent sessions, and top projects.
- Full dashboard panel — a wide, tabbed view (open via the status bar or the Expand button):
- Overview — all-time / today / this-week / this-month totals, token composition (input · output · cache read · cache write), and rolling usage windows (last hour / 5 hours / 7 days).
- Models — per-model token, request, and estimated-cost breakdown.
- Projects — filterable, sortable table of usage by workspace.
- Sessions — recent sessions with per-model filtering.
- Cache hit rate surfaced inline, so you can see how much of your usage is served from prompt cache.
- Cost estimates — a rough
~$ figure per model/project from a built-in pricing table (best-effort; see note below).
Privacy
Everything is computed locally by reading log files. Vibalytics does not use API keys or make its own network requests.
Cross-device usage sync is off by default. While it remains off, your usage data stays on this machine. If you explicitly enable vibalytics.sync.enabled, Vibalytics gives a summarized usage snapshot to VS Code Settings Sync, which may upload it through Microsoft's Settings Sync service. That snapshot includes token and message totals, daily and hourly buckets, model and project names, and recent session summaries. It does not include prompts, responses, or raw log contents. Synced snapshots are content-deduplicated and limited to at most once per minute per machine.
It reads:
~/.claude/projects — Claude Code session logs
~/.codex/sessions (and ~/.codex/archived_sessions) — Codex CLI session logs
Settings
| Setting |
Default |
Description |
vibalytics.statusBar.enabled |
true |
Show the Vibalytics status bar items (usage totals and, when detected, plan limits). |
vibalytics.statusBar.metric |
tokens |
What the status bar shows: tokens, sessions, or messages. |
vibalytics.statusBar.period |
today |
Time window for the status bar: today, week, or allTime. |
vibalytics.refreshIntervalSeconds |
30 |
How often to poll log files for changes. |
vibalytics.claudeCode.logsPath |
(auto) |
Override the Claude Code logs directory. |
vibalytics.codex.logsPath |
(auto) |
Override the Codex CLI logs directory. |
vibalytics.codex.includeArchived |
true |
Include ~/.codex/archived_sessions in totals. |
vibalytics.sync.enabled |
false |
Share summarized usage through VS Code Settings Sync. Writes are limited to at most once per minute per machine. |
Commands
- Vibalytics: Open Usage Dashboard
- Vibalytics: Refresh Usage Stats
- Vibalytics: Toggle Status Bar Items — show or hide the Vibalytics status bar entries.
- Vibalytics: Full Rescan (clear cache) — re-reads all logs from scratch (useful after upgrading).
Note on cost estimates
Costs are estimated from a built-in, hardcoded price table matched by model family. They are a rough guide, not a bill — published prices change over time, and any model not in the table shows no cost rather than a guess. Token and message counts are exact; dollar figures are approximate.
Enjoying Vibalytics? Support development on Patreon. 💜