AItention

Documentation

Set up and understand

Installation

Download the archive, drag AItention.app into Applications, launch it. The app is signed with a Developer ID and notarised by Apple — no warning appears.

The status hooks

Without hooks the app can list which sessions are running, but not what they are doing. On first launch it offers to set them up: it adds entries to ~/.claude/settings.json that call a bundled program. That program writes a status file and does nothing else.

A backup is made before every change to that file. All entries are marked # aitention so removal never touches hooks you configured yourself:

~/Applications/AItention.app/Contents/MacOS/AItention --uninstall-hooks

The states

StateMeaning
DecisionClaude has asked a question with options to choose from.
WaitingA question or a permission is pending.
ErrorThe turn failed on an API error — overload, rate limit, billing.
DoneThe turn finished, the reply is unread.
WorkingA prompt is running, tools are executing.
ReadySession open, no turn active.
DormantEnded, but resumable with claude --resume.

If a working session goes quiet 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 admitting it does not know.

Where the data comes from

Everything the app shows comes from these files. None of it leaves the machine.

FileWhat for
~/.claude/sessions/<pid>.jsonWhich sessions run, their working directory and origin
~/.claude/aitention/status/<id>.jsonThe live state, written by the hook — the only file AItention creates itself
~/.claude/projects/…/<id>.jsonlTranscripts: replies, tool calls, tokens
~/.claude/tasks/<id>/A session's task list, if it keeps one
~/Library/Application Support/Claude/…Title, model and mode of desktop sessions, plus rate window usage

Activating a licence

After purchase you receive a mail with a button that opens the app and enters the licence. If that does not work: Settings → Licence → paste the key → Activate. No connection is made.

When something is wrong

The diagnostic output shows what the app sees without starting the interface — including every path and the hook status:

~/Applications/AItention.app/Contents/MacOS/AItention --dump

To check a licence key: --verify-licence <key>