macOS 14+ · Claude Code and Codex CLI · Any agent via local API

Stop babysitting your coding agents.

Every agent in your menu bar. A card only when one needs you. One click, focus stays put.

Lifetime license · Instant DMG · No account · Runs on 127.0.0.1

Approval card at the top of the screen
Menu bar states
Needs youWorkingIdleFailedCache cold

Running AI coding agents is a juggling act.

Blocked looks like done.

Five terminals. One has waited on y/n for 20 minutes.

Notifications steal focus.

Click one and the terminal jumps over your work.

Idle sessions get expensive.

150k tokens past the cache window get re-processed.

Live preview

One glance tells you everything.

Shapes differ, not just colours. Tap a state.

1Fri 12:09
payment-flow wants to run Bash

npm install && npm run build

AlwaysApproveDeny

How it works

Install once. Answer in one click.

  1. 01

    Install hooks once.

    One click adds hooks to ~/.claude/settings.json. Existing hooks preserved. One click removes it all.

  2. 02

    Agents report in.

    Every session with its real title, sorted by urgency. Already-running ones too.

  3. 03

    You answer with one click.

    Always, Approve or Deny. Your terminal keeps focus.

Settings with Install hooks

Two surfaces, not a notch

Ambient state. Interrupts only when needed.

Notch overlays cover tabs. Menu bar icons get missed. We split the job.

Menu bar

Always on, never in the way.

Menu bar states
Popover

Click the icon for the full session list.

Card

Slides in. Shrinks to a pill after 6s.

Approval card
  • Hangs from the notch, works on every screen
  • Follows your active window
  • Skipped if you are already in that terminal

What you get

Everything you need. Nothing to learn.

Inline approvals

Command or diff in the card. Approve, Deny, Always. Nothing jumps to the front.

Queue, not chaos

Oldest prompt first with a +N badge. The popover lists them all.

Prompt cache countdown

'cold in 6m · 142k tokens · ~$1.14 to re-cache'. Warns once, with the honest number.

Jump to the right place

Exact tmux pane, iTerm2 session, Terminal.app tab or Claude desktop session.

Failed is a real state

API-error endings show in red, not silently dropped.

Codex and any agent

Codex CLI natively. Anything else posts to the local API.

curl -s -X POST http://127.0.0.1:19485/api/events/approval \
  -H "Authorization: Bearer $(cat ~/.agent-attention/token)" \
  -d '{"session_id":"deploy-1","name":"deploy","command":"terraform apply"}'

Gemini CLI, a deploy script, anything: post to the local API.

Privacy

Nothing leaves your Mac.

Loopback only

Binds to 127.0.0.1. Nothing else.

No telemetry

No analytics, no account. Only license activation goes out.

Your code stays

Source, commands and paths never leave.

No permissions

Banners and tab-jumping are optional, ask once.

Why not the Claude Code plugin directory?

It does not list plugins that answer permission prompts, which is the whole point. So it ships as a signed DMG and a Homebrew cask.

brew install --cask HOMEBREW_TAP

Why Agent Attention

Built for exactly what you searched.

Approve Claude Code prompts without focus stealing

Claude Code terminal approvals usually mean switching windows. Agent Attention shows a small Approve / Deny / Always card that never takes keyboard focus, so you answer and keep typing.

Looking for an AgentNotch alternative?

Agent Attention splits the job in two: ambient status lives in the menu bar for every session, and a card appears only when one needs you. It works the same on notch-less Macs and external monitors.

A prompt cache expiry warning tool

Idle Claude Code sessions silently lose their prompt cache. Agent Attention counts down to expiry and shows what re-processing would cost, before it goes cold.

Monitor Claude Code background terminals

Every Claude Code and Codex CLI session, in tmux or any terminal, appears in one menu bar list with live state: needs you, working, idle or failed.

Pricing

One price. Yours forever.

Lifetime license

$9.99

one-time payment

  • Instant DMG download after payment
  • License key delivered by email
  • All 1.x updates included
  • No subscription, no account
Buy and download · $9.99
Instant DMGATTN-XXXX keyRazorpay

Activation stores a signed receipt in your Keychain. After that the app never phones home.

FAQ

Questions engineers ask.

No. The menu bar carries state and a small card appears at the top of your active display only when a session needs you. It works the same on notch-less Macs and external monitors, and you can turn the card off and use the menu bar alone.

Yes. Auto mode still prompts for ask-rules, protected paths, first reads outside the working directory and classifier-flagged actions. Those land in Agent Attention. Everything else keeps flowing.

The hook script exits silently and Claude Code prompts in the terminal exactly as before. Nothing is ever blocked by the app.

After the time you choose (default 55 minutes) the request is handed back to the terminal prompt.

Not yet. v1 handles tool permission prompts (Approve, Deny, Always). Questions and plan review are on the roadmap.

It comes from Claude Code's statusline feed (prompt_cache.expires_at and recache_tokens_if_cold, v2.1.251+) and public list prices. Subscription sessions get a 1-hour TTL; API-key sessions get 5 minutes; the app shows whichever your session actually has.

Codex CLI works natively: one click installs the hooks, then trust them once with /hooks inside Codex. Gemini CLI and Cursor can post sessions and approvals to the local API today; native adapters are next.