AItention

Features

Everything that happens between prompt and result

An agent that is working says nothing. An agent that is waiting says nothing either — it looks exactly the same. AItention reads the files Claude Code and Codex write anyway and turns them into a picture: who is blocked, who is computing, who is waiting on another agent, what all of it consumes, and how long something has been sitting there finished without anyone noticing.

Up to three sessions free forever — with the full feature set.

Eight states, because two are not enough

“Running” and “not running” answers the wrong question. The right one is: does this need me? A session waiting for a permission costs you a second. One that has asked a question costs you a thought. One that is waiting for its own subagents costs you nothing at all — leave it be.

StateWhat it meansNeeds you
DecisionA question with options is openyes
WaitingA query or permission — the agent cannot proceedyes
ErrorThe turn failed: rate limit, overload, billing, invalid requestusually
DoneThe answer is there and unreadyes
WorkingA prompt is running, tools are being executedno
SubagentsThe main agent is waiting for its own helpersno
Wake-upThe session set itself an appointment and sleeps until thenno
DormantFinished, but resumableno

The difference that pays for the program: a session writes “I will get back to you as soon as this moves” — and never does, because it is waiting for you. From the outside that looks like work. From the inside it is a standstill. AItention tells them apart by what is actually running, not by what the session says about itself.

If a working session has not reported for more than thirty minutes, it loses its colour and shows how long it has been silent instead. A stale display that looks confident is worse than one that admits it does not know.

When several agents work on the same thing

The moment you spread one task across several sessions, it falls apart in the list: five rows with five names, and nothing says they belong together. AItention has the federation for that — a group that names a membership instead of merely sorting.

Two ways in, one of them by itself

If a session carries a marker in its first instruction, AItention assigns it — that is evidence, not a guess. Everything else you group yourself: select several rows, name them, done. Where both say something, your decision wins.

Nothing is guessed

When several sessions start at the same time in the same project, the application suggests a federation — it does not create one. An invented membership is exactly the kind of claim nobody can trace back later.

Subagents are counted

When a session starts helpers of its own, their number stands in the row and the state says the main agent is waiting for them — not for you. Without that, a long silence looks like a standstill, and that is exactly when someone steps in who would have done better to wait.

A budget per session — and a knock, not an intervention

You can give every session an objective in plain words and three limits to go with it: a number of tokens, an amount of money, or a share of the five-hour window. When one of them is reached, the application says so. The progress stands in the row.

Nothing is stopped. AItention observes other programs, it does not steer them — an exceeded limit is a reason to knock, not to intervene. Anyone who deliberately raises the limit is woken again at the new one; a limit you have just set and that then stays silent would be worse than none.

Where an objective comes from stays visible: Codex knows objectives of its own, Claude Code does not. A budget you set yourself is a different thing from one the provider knows and enforces — so the two do not share a word.

Where the quota actually goes

The billing page names a sum. This view names the reason: output per day, per project, per program, per model — over seven, thirty or ninety days. Three figures stand side by side and can be switched on individually: quota, tokens, money.

Every figure with its source

The quota comes account-wide from the provider, tokens and amounts from the records on your own machine. Throwing both into one picture would present two different things as one — so every card carries its source.

What has never been on an invoice

The share that came from the cache stands separately next to input and output. Only then can you judge whether a long context was expensive or cheap — the sum alone does not say.

Your own prices

The application ships a price table per million tokens and shows when it was collected. Anyone with their own terms enters them; those rows are then marked as your own and can be withdrawn with one click.

The load, while it can still be steered

Both rate windows as a fill level, plus the pace per hour, the peak across the whole record and the time left in the window. The history over 24 hours, 7 or 30 days shows when you ran into the limit — and therefore when to schedule which work.

The vertical drop in the curve is the five-hour window resetting. Hitting the limit knowing it is about to spring back is a different situation from hitting it with four hours to bridge.

What not looking has cost

The one number that quantifies why this program exists: how long your sessions stood there finished without anyone noticing. Total, on average, longest — per day and per project.

This view counts against us. It is in there anyway, because a number you do not know cannot be improved either.

Finding yesterday's session again

A finished session is not gone — it can be resumed. Except: after a restart you no longer know the name, and without the project folder the tool will not find it anyway. “Previous sessions” lists them all, ordered by program or project, over seven days, thirty days or the whole period, with a search field — and puts the complete command, folder included, one click away in the clipboard.

Names that survive a restart

A finished session used to carry the name of its folder — with five of them in the same project, the same thing stood there five times. AItention takes the real title from the record a restart does not delete.

Search your own prompts

“Where did I do this before?” — search every prompt you ever sent to Claude Code, across all projects. The hit leads to its session, and the command to resume it stands beside it.

Context, before it is compacted

As a session approaches compaction, its context figure changes colour. Whoever sees it coming saves an intermediate state or splits the task — instead of noticing afterwards that half the thread has been summarised.

Three figures — and which one is the invoice

The same work has three amounts, and they lie far apart. The row shows one of them; which one is your choice. The two computed ones carry a mark, the billed one does not — measured in the same row: ≥ $1,580 against nc ≥ $12,479.

FigureWhat it quantifies
BilledWhat the provider charged for this work
APIWhat the same work would have cost through the interface
ncWhat every token would have cost with nothing coming from the cache

The ≥ sign is not decoration. Not every model call appears in the records, and for some models no documented price exists. Where an amount is therefore a lower bound, the sign stands in front of it; where no price is documented at all, the row shows tokens instead of a number that looks like money.

What leaves the machine only leaves if you enter it

Forward it wherever you like

Enter an address and every change into a state that needs you sends a JSON message there — home automation, a chat channel, whatever you like. No field for a command: nothing starts on your machine. Name, project, program and state are transmitted; never prompts, answers or paths. The field is empty as shipped.

Connect your own tool

The file contract AItention draws its data from is published: aitention.app/schema/status-v1.json. Any tool that can start a program on events writes a small JSON file and appears in the list — without anything being changed in AItention. Three fields are mandatory.

Otherwise exactly one connection

On its own the program opens a single network connection: the update check, and that is off as shipped. No account, no telemetry, no access logs. The licence is verified offline against a key inside the program — there is no activation server that could fail.

No special rights: no accessibility access, no screen recording. Only files in your own home directory are read. What the documentation lists as a source is the complete list.

Two classes of tool, one program

Two kinds of helper have grown up around Claude Code. One signs in and shows your usage figures; it knows nothing about your sessions. The other watches sessions and shows who is waiting; it knows nothing about the cost.

AItention is both in one window — and puts federations, waiting times, prompt search and six languages beside them. That is the whole point: the state of a session and its price are the same question asked from two sides.

Also

  • Claude Code and Codex as equals. Both in the same list, with the icon of the program hosting them. From two tools onwards, a grouping by tool appears.
  • Failure causes in plain words. Rate limit, server overload, billing, invalid request — named, not merely “failed”. The difference between restarting and waiting.
  • Background tasks with output. A build that ends in an error after twenty minutes stands in the row — with its running output and its exit code.
  • Branch and permission mode per row. Read without calling git, worktrees included. In shared repositories the mode is a governance question, not a display option.
  • Read the answer without switching windows. A session's last answer can be unfolded and copied right in the overview.
  • Jump to the right project window. With several projects open in one development environment, the matching one comes forward.
  • Filters, grouping, favourites. Group by state, program, project or tool, combine several filters, pin the sessions that matter.
  • Six languages. German, English, French, Spanish, Italian, Polish — switchable while running, without a restart.

See it on your own sessions

Up to three sessions free forever, without an account and without a deadline. The counters always show the true totals — including the sessions that are not in the list.