Claude Code & Grok Metrics

Code Critter

Code Critter

A pixel familiar that watches your Claude Code and Grok sessions and reacts in real time: a desktop app for macOS, Windows and Linux, and a Stream Deck plugin. Live sessions, /loop, tokens, cost and burn rate, all read 100% locally.

macOSWindowsLinuxStream DeckClaude Code & Grok100% localno API

0

API calls · 100% local

Desktop app

A desktop app

The standalone version for macOS, Windows and Linux: a companion in your menu bar (or the system tray on Windows and Linux) that shows your Claude Code and Grok stats without a Stream Deck. Same engine as the plugin, so the numbers always match.

macOS 11+ · Apple Silicon & Inteluniversal signed & notarized .dmgWindows 10+Linux · .deb & .AppImage100% local

What it does

A reorderable feed of cards

Live sessions, fleet, loops, tokens, cost per project, burn rate, Claude and Grok models, counters, activity, account. Show, hide, reorder. Burn over 24h, 7d or 30d and cost per project over 1D, 7D, 30D or ALL, each one click away.

A sortable sessions table

One line per live session, named by its title (your /rename, Claude Code’s automatic title or Grok’s generated title, else the repo): time since last activity, context ring, tokens in, tokens out, cache reads and API-equivalent cost. Click a header to sort.

In the menu bar

The companion lives at the top of your screen, next to the clock. Its mood follows your fleet (working, waiting, done), with an optional blink when a session needs you.

In the menu bar
/loop detection

See which sessions are looping: a ↻ marker, a LOOP square in the fleet, a dedicated Loops card with cadence and a countdown. Read straight from the transcript.

Native notifications

Get told when a session needs you, work ships, or a /loop ends, even with the app closed. Titles name the session ({session_name}), with master, per-session and new-session controls and tunable wording.

Native notifications
Jump to the terminal

On macOS, click a session to jump straight to its window or tab, even a background tab. Ghostty, Terminal.app, iTerm2 and more.

Honest numbers

Claude usage is no longer counted twice, subagents and advisor calls are now included, Grok cost comes from Grok’s own per-turn cost, and a model without a known price is flagged instead of shown as $0. Costs remain an API-equivalent estimate, not your plan price.

It reacts, right in your menu bar

The fleet is running, all green.A session is waiting for your go-ahead.All shipped, the companion is proud.

RUN The fleet is running, all green.

Three themes, automatic light/dark

Code Critter · OLED
OLED Deep black
Code Critter · Graphite
Graphite Soft grey
Code Critter · Light
Light Light mode

Also on your Stream Deck

The same thing on hardware: a little pixel creature lives on a key and reacts to your fleet in real time, surrounded by live tiles.

RUN The fleet is running, everything at a glance.

The companion reacts

Working

a session is running

Waiting

a session needs you

Proud

work shipped

Asleep

all quiet

Twelve companions to adopt

The 13 tiles

Companion
Companion

Your reactive pixel familiar, 12 skins.

Fleet
Fleet

Live counts of every session in one tile: RUN, INPUT, END.

Session Status
Session Status

How many sessions are in a given state: RUN, INPUT or END.

Session
Session

One specific session: its title, context %, tokens in / out, cache reads or cost, with a ↻ when it is running a /loop.

Loops
Loops

How many sessions are running a /loop, with a countdown to the next run.

Activity
Activity

Streak and a 12-week heatmap.

Hourly / Peak
Hourly / Peak

Token usage by hour, your peak.

Tokens
Tokens

Today, lifetime, or a 24h sparkline. Billed tokens by default, cache reads apart.

Cost
Cost

API-equivalent spend, today to lifetime. A ! flags a model without a known price.

Project Cost
Project Cost

Spend per project and per model.

Burn rate
Burn rate

Tokens per minute over the last hour.

Counter
Counter

A daily or weekly counter: permission prompts, runs, sub-agents, loops launched or iterations.

Wrapped
Wrapped

A shareable recap of your stats.

Local-first & privacy

Code Critter is built to be boringly safe with your data.

  • ›Reads your local Claude Code files under ~/.claude and Grok’s own, read-only.
  • ›Makes no network calls and talks to no API. No account, no key.
  • ›Sends no telemetry. Nothing about you is collected, stored remotely, or shared.
  • ›Cost figures are an API-rate-equivalent estimate, not a bill, and never leave your machine.

Install

Install the desktop app (macOS, Windows or Linux), or the Stream Deck plugin (see Downloads) then drag any tile onto a key. Tokens, cost, project cost and activity work right away.

Live sessions: why it needs a hook

Some tiles need to know whether a session is working, waiting, or done: state Claude Code and Grok store nowhere. A small hook captures it.

1 Bash script0 dependencyno networkoptional

/loop detection needs no setup: the Session tile shows a ↻, the Loops tile counts active loops, and it is read straight from the transcript, still 100% local.

The desktop app installs the hooks itself, for Claude Code and Grok: nothing to do here. Without it, in Claude Code, enabling the plugin installs them automatically:

One command at a time: copy, paste, run, then the next.

claude code
  1. 1 /plugin marketplace add https://github.com/denisvinciguerra/code-critter-hooks
  2. 2 /plugin install code-critter@code-critter
  3. 3 /reload-plugins

For Grok, in a terminal (even without the Claude Code plugin), then start a new Grok session:

grok (terminal)
  1. 1 grok plugin marketplace add https://github.com/denisvinciguerra/code-critter-hooks
  2. 2 grok plugin install code-critter --trust

FAQ

Do I need a Claude or Anthropic API key? +

No. Code Critter only reads the files Claude Code already writes on your machine. There is no API call and no key to enter.

Is the cost figure my real bill? +

No. On a flat subscription there is no per-token bill, so the cost tile shows an API-rate-equivalent estimate, labelled as such.

A tile shows a dash or zero. +

There is no local data yet for that metric. The tile fills in as you use Claude Code.

The companion is always asleep, or my Fleet / Session tiles are empty. +

Those live tiles need the optional hooks for Claude Code or Grok: the desktop app installs them, otherwise see Install. Tokens, cost and activity work without them.

Downloads

The GitHub repo is private for now, opening up soon.

macOS

Menu-bar app · universal signed .dmg

Windows

Desktop app · installer, Windows 10+

Linux

Desktop app · .deb & .AppImage

Elgato Stream Deck

Plugin · macOS & Windows

GitHub Elgato Marketplace · Coming soon