One banner per wait
Names the request, like Bash: npm run build; gone once answered.
Pulse · Menu-bar status for coding agents
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.
Names the request, like Bash: npm run build; gone once answered.
It never answers prompts, dispatches work, or shows tokens or cost.
› lists the turn's tools, changed files, plan and subagents.
Pi and OpenCode only: twenty minutes without news.
Four turn red; Codex and Cursor show running and your turn.
Its terminal when known, else the app; › opens details and timeline.
v33.0.0 Oct 21, 2026 Release notes ›
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.
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.
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.
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.
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.
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.
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.
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
Once a coding agent is running.