Situational awareness and control for Claude Code and Codex.
Your sessions run in parallel.
Your attention cannot.
Ten agents work in parallel, and the operation behind them is invisible: which session is blocked, which is waiting on an external condition, which failed in silence. AItention brings them all into one picture — Claude Code and Codex, from the terminal, from JetBrains IDEs, from VS Code and from the Claude desktop app.
macOS 14 or later only · Apple silicon and Intel
Signed and notarised by Apple. Up to three sessions free, permanently.
The output is visible. The operation is not.
The billing page gives you a total and nothing else. A terminal window shows one session; twelve terminal windows show not twelve but one — the topmost. The rest are waiting, computing, or got stuck on a rate limit twenty minutes ago, and nobody knows.
What an agent produces, you see in the diff. What it does while producing it, you see nowhere. Between the two lies the operation.
One example gets to the heart of it: a session writes “still waiting, I'll report back” — and never does. It scheduled no wake-up; it is waiting for you. From the outside that looks like work, which is exactly why it sits there for hours. AItention tells the two apart by what is actually running, not by what the session says about itself.
Who needs you — and who does not
Eight states, not two: a session that has asked a question costs you a thought; one waiting on a permission costs a second. One waiting on an external condition — a pipeline, an agent — does not need you at all. The list makes that distinction, so you do not have to.
What is running, in one line
Checked-out branch, permission mode, task list with progress, running sub-agents, background commands with their output and exit code. A build that fails after twenty minutes is otherwise noticed only when somebody goes looking.
Where the allowance goes
Both rate windows with level, pace and time remaining — and next to them what fills them: consumption per day, per project, per application, per model, across seven, thirty or ninety days. The invoice gives you a total; this gives you the reason.
What not looking costs you
How long your sessions stood finished without anyone noticing — total, on average, longest, per day and per project. The one number that puts a figure on why this application exists.
Finding yesterday's session
After a restart you no longer remember the name. “Previous sessions” lists them all — ordered by application or project, searchable — and puts the full resume command on the clipboard. If the name escapes you, search your own prompts instead.
Nothing leaves your Mac
No account, no telemetry, no service in between. The licence is checked offline against a key inside the application — there is no activation server that could fail. Exactly one network connection is provided for, the update check, and it is off by default.
What you see at a glance
The status overview as it looks in daily use. The marked points explain themselves on click.
1 Background jobs with live output
A build, a test suite, a deploy: whatever a session started in the background appears in its row — with running output and exit code. A job that fails after twenty minutes otherwise surfaces only when someone goes looking.
2 Branch and working directory
Every row names the checked-out branch. Across several repositories
and worktrees that is the detail deciding whether a change lands where
it belongs — read without invoking git, worktrees
included.
3 Permission mode per session
Whether a session runs tools without asking, or may write files, is shown in colour next to its name. In shared repositories that is a governance question, not a display option.
4 Task list and subagents
When a session keeps a task list, the row shows the progress and the task it is working on — in the session's own words. Running subagents are counted, so a long silence is not mistaken for a standstill.
5 Consumption with history
Both rate-limit windows as a gauge, plus consumption per hour, peak and history over 24 hours, 7 and 30 days. Enough to plan when which work runs — instead of discovering at the limit that it no longer does.
6 Read the reply without switching windows
A session's last reply expands right in the overview, ready to copy. With a dozen sessions running, that decides whether you touch a session at all — or let it carry on.
Several agents, one task
The moment you spread a task across several sessions, it falls apart in the list. AItention holds them together as a federation — with running subagents, a goal you set yourself, and the wake-up call a session gave itself. Three pieces of information that stand nowhere else.
The invoice names a sum. This names the reason.
Output per day, per project, per program, per model — over seven, thirty or ninety days, with quota, tokens and amount side by side. Plus both rate windows with their history, and the waiting time that builds up when nobody looks.
After the restart: what was it called again?
You close the IDE, restart the machine — and want to carry on. With three sessions you still know which was which. With thirty you do not.
“Previous sessions” lists every one that can be resumed: ordered by application or project, across seven days, thirty days or the whole period, with a search field. On every row the full command is one click away on the clipboard — including the project folder, because without it neither tool finds its session again.
Names that survive the restart
A finished session used to carry the name of its folder — with five sessions in the same project, the same line stood there five times. AItention takes the real title from the transcript, which the restart does not delete.
Search your own prompts
“Where did I do this before?” — search every prompt you have ever sent to Claude Code, across all projects. The hit leads to its session, and the resume command sits next to it.
Context, before it is compacted
As a session approaches compaction, its context figure changes colour. Seeing it coming, you save a checkpoint or split the task — instead of noticing afterwards that half the thread was summarised.
Two tools, one picture
Anyone working with Claude Code and Codex runs two operations with no shared view. AItention lists both together — with the icon of the application they run in, with project, context and consumption. From two tools onwards, grouping by tool appears.
Without touching your Codex setup. Codex keeps its own transcript per session; AItention reads it and changes nothing. Codex names its own context window — the compaction warning is read from it, not estimated.
What does not work for Codex yet: AItention does not report the “waiting for you” state there. Claude Code tells the application through a hook; in Codex transcripts we have not yet seen an event for it. Codex sessions therefore appear as working, done or failed. As soon as such an event turns up, the state follows.
Connect your own tool
The file contract AItention takes its data from is published: aitention.app/schema/status-v1.json. Any tool that can start a program on an event writes a small JSON file and appears in the list — with nothing to change in AItention itself. Three fields are mandatory.
Forward it wherever you like
Enter an address and every change into a state that needs you sends a JSON message there — for home automation, a chat channel, whatever you please. No field for a command: nothing starts on your machine. Name, project, application and state are transmitted; never prompts, answers or paths. The field is empty by default.
Also included
- Failure causes in plain words. Rate limit, server overload, billing, invalid request — named, not merely “failed”. The difference between restarting and waiting it out.
- Consumption in the main window too. The short version of the last seven days slides out below the rate windows: three figures, the five largest projects and applications.
- Six languages. German, English, French, Spanish, Italian, Polish — switchable while running, with no restart.
- Everything from the menu bar. Counters, waiting and running sessions, consumption — without opening a window.
- Jump to the right project window. With several projects open in one IDE, the matching one comes forward.
- Filters, grouping, favourites. Group by state, application, project or tool, combine several filters, pin what matters.
The workshop is running. Now you can see it.
No account, no service, no transmission. AItention reads only files in your own home directory — the same ones Claude Code and Codex create anyway. What you see, nobody else does.