馃崟 Agenteria

Every Claude Code session becomes an oven in your menu bar. See what is cooking, what is blocked, what is finished, and how full each context window is.

A row of pizza oven icons animating: one showing a red exclamation mark, one holding a finished pizza that breathes, one with violet bars drawing inward, one with a flickering flame, and one with three blue dots riding a wave. A row of pizza oven icons animating: one showing a red exclamation mark, one holding a finished pizza that breathes, one with violet bars drawing inward, one with a flickering flame, and one with three blue dots riding a wave.

Blocked 路 finished 路 compacting 路 cooking 路 still running

Install

macOS, with Claude Code already set up.

curl -fsSL https://agenteria.henrywhittle.com/install.sh | sh

Prefer to read it first? It is 30 lines. Or do it by hand:

git clone https://github.com/Whittle777/agenteria.git
cd agenteria && python3 install.py

That is the whole install. It adds the hooks, builds the menu bar app, and sets it to start at login. Nothing needs sudo and nothing lands outside your home directory. python3 install.py --uninstall takes it all back out.

What the ovens mean

OvenStateMeans
Orange flamecookingThe agent is mid-turn.
Red !blockedClaude stopped and is waiting on you.
Golden pizzareadyFinished and unreviewed.
Violet barscompactingClaude is squeezing its own context down.
Blue dotsstill runningThe turn ended but a backgrounded command has not.
Empty ovenidleRunning, but not doing anything.
Amber 鈿狅笌contextSome session is past 80% of its window.

The Agenteria dropdown listing five sessions with their state, age and context percentage, and the day's token total

Click an oven

It brings that session's terminal to the front, and that is all it does. The match is exact, not a guess: the hooks report the tty and Terminal.app exposes the same string per tab. There is deliberately no dismiss button in the bar, so the way you clear a finished pie is by going back to the session and using it.

Context and tokens

Each ticket shows how much of its context window it has used, and the menu totals the tokens generated today. Read from the transcripts Claude Code already writes, incrementally, so polling stays cheap.

Why review is a state the agent cannot declare Agents report success and are sometimes wrong, and they finish turns while work is still running in the background. So "done" is not something a session gets to assert: a finished pie stays on the counter until you go back and look. That gate is the whole point of the thing.

Also included

A browser counter at 127.0.0.1:4646 with the full ticket detail, and ./cook, a pty wrapper that lets you type into a running session from the browser while the terminal stays completely live. Both are optional; the menu bar is the main event.

Status, honestly

Issues and pull requests welcome, especially from anyone running a terminal that is not Terminal.app.

View on GitHub