Claude Code Metrics

Claude Companion

Claude Companion

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

macOS appStream DeckWindows soon100% localno API

0

API calls · 100% local

macOS app

A menu-bar app

The standalone macOS version: a companion in your menu bar that shows your Claude Code stats without a Stream Deck. Same engine as the plugin, so the numbers always match.

macOS 11+ · Apple Siliconsigned & notarized.dmg100% local

What it does

A reorderable feed of cards

Live sessions, fleet, loops, tokens, cost per project, burn rate, model mix, counters, activity, account. Show, hide, reorder.

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. Master, per-session and new-session controls, with tunable wording.

Native notifications
Jump to the terminal

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

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

Claude Companion · OLED
OLED Deep black
Claude Companion · Graphite
Graphite Soft grey
Claude Companion · 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 context %, 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.

Cost
Cost

API-equivalent spend, today to lifetime.

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

Claude Companion is built to be boringly safe with your data.

  • Reads your local Claude Code files under ~/.claude, 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 macOS app, or the plugin from the Elgato Marketplace 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 stores 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.

In Claude Code, enabling it installs the hooks automatically:

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

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

FAQ

Do I need a Claude or Anthropic API key? +

No. Claude Companion 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 plugin for Claude Code (see Install). Tokens, cost and activity work without it.

Downloads

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

macOS

Menu-bar app · signed .dmg

Elgato Stream Deck

Plugin · macOS & Windows

GitHub Elgato Marketplace · Coming soon

Windows

Coming soon

Standalone app

Coming soon