Pulse · Menu-bar status for coding agents

Which agent needs you.

Red means blocked. Your turn stays quiet. Every lamp says why.

Not notarized: allow each new build once with Open Anyway in System Settings → Privacy & Security.

macOS 14+MITOct 21, 2026Menu bar

Illustrative session list 1 · 4m

Red: an agent is waiting on you.

1 needs you · 1 running · 1 your turn
  • Add a package · Claude

    Bash: npm install

    4m
  • Fix the flaky test · Claude

    Bash · swift test · 12m ago

    14m
  • Review failing CI · Codex
    Your turn
  • Terminal session running · Pi
hook events · processesClick a row to go · › for details

Four lamp colours, in the menu bar.

One banner per wait

Names the request, like Bash: npm run build; gone once answered.

Only lamps

It never answers prompts, dispatches work, or shows tokens or cost.

This turn, in details

› lists the turn's tools, changed files, plan and subagents.

Orange means stalled

Pi and OpenCode only: twenty minutes without news.

Six agents, own hooks

Four turn red; Codex and Cursor show running and your turn.

Click to go

Its terminal when known, else the app; › opens details and timeline.

Where your data goes.

  • State comes only from each agent's own hooks; Pulse reads no session files, transcripts or protected app data.
  • The event log, readable only by you, keeps prompts cut to 200 characters with credentials redacted, on this Mac.
  • Pulse makes no network connection: no update check, nothing reported. Releases… in Settings only opens the releases page in your browser.

v33.0.0 Oct 21, 2026 Release notes ›

FAQ

Which agents show waiting?

Four: Claude Code, Copilot CLI, OpenCode and Pi, through the hook, plugin or extension each vendor documents. Codex and Cursor show running and your turn only, and say they do not report waiting. A session that started before Pulse shows as process only until its next step.

What does installing the hooks change?

Install them from the setup card on first open or with Install all in Settings → Hooks; for Codex, Pulse writes only ~/.codex/hooks.json, then you run /hooks in Codex to trust it. Only observe-only events are added, and removing them restores each file byte for byte; a file changed since then loses only Pulse's entries.

Why is an agent not turning red?

Open Settings → Hooks. Each agent on this Mac has a row: installed, needs update, failed with its reason, or not installed; the last event Pulse heard from it and when; the last event it ignored and why; and whether the agent reports waiting. Install all brings every row that needs an update up to date. Copy report gives the same as plain text, plus each session's last three events, without paths, prompts, sessions or projects.

Does Ignore answer the agent?

No. Ignore on the banner, like ⌘D in the tray, only stops Pulse reminding you of that wait and withdraws its banner. The prompt still waits in the agent's own window, and Pulse stays in the background.

Why does macOS block the first open?

Current builds are ad-hoc signed and not notarized. Click Open Anyway in System Settings → Privacy & Security, or clear quarantine with xattr -dr com.apple.quarantine /Applications/Pulse.app. Since macOS 15, Control-click Open no longer lets it through.

What happens when I upgrade?

Quit Pulse, drag the new Pulse.app into Applications and choose Replace, then allow the first open again, as every unnotarized build needs. Agents' hooks need no reinstall: they call a launcher in ~/Library/Application Support/Pulse, not the app. If Settings → Hooks says an agent needs an update, Install all fixes it. Coming from 32 or earlier, Pulse 33 starts its event log over, so only the old timelines are lost. Coming from 29 or earlier, Pulse 30 also has a new bundle id, so settings and notification permission reset once, and Gemini CLI is no longer supported; its old hooks record nothing.

How do I remove Pulse?

In Settings → Hooks, Remove all restores each agent's untouched files byte for byte; a file you edited since loses only Pulse's entries. Then choose Quit Pulse from the menu-bar icon's right-click menu, drag Pulse.app to the Trash, and delete ~/Library/Application Support/Pulse. If you turned on Open at login, also remove Pulse in System Settings → General → Login Items.

Is there a keyboard shortcut?

Pulse has no global shortcut of its own. Open Pulse again from Spotlight, Raycast or the Finder and the tray opens with the oldest wait selected; ↩ takes you to its prompt. For a key, give Pulse a shortcut in your launcher.

Pulse

Working with agents

Once a coding agent is running.

  1. Pulse Which one needs you
  2. Readout Read what it writes
  3. celagent Resume on another machine
  4. Agent Radar Scheduled research
All tools