Agent NotificationsFOR YOUR CODING AGENTS
GitHub ↗

LESS WATCHING. MORE BUILDING.

Stay in flow
We'll get your attention

Let your agent work. Know when it's done.
Desktop notifications and webhooks for Claude, Codex CLI and OpenCode. Gemini CLI integration is unreleased.

Open source · Runs locally

YOUR AGENT HAS AN UPDATE

❓ Question

now
Claude · main · checkout-service

What would you like to name the test file in /tmp/?

📋 Plan

now
Claude · main · patient-portal

Plan: Create test file in /tmp/

✅ Completed

now
Codex CLI · main · payments-api

Done. Installation now comes right after the hero.

✏️ 3 edited ⏱ 35s
macOSLinuxWindows

Set up notifications

Follow the steps below to add notifications to Claude.

Choose the computer where your agent runs
Compare agent features
FeatureClaudeCodex CLIOpenCodeGemini CLIUnreleased
CompletedSupportedSupportedSupportedSupported
QuestionSupportedSupported with limitationsSupportedNot supported
Permission RequestSupportedSupportedSupportedSupported
ReviewSupportedNot supportedNot supportedNot supported
PlanSupportedNot supportedNot supportedNot supported
Session Limit ReachedSupportedSupported with limitationsNot supportedNot supported
ErrorsSupportedSupported with limitationsSupportedNot supported
SoundsSupportedSupportedNot supportedNot supported
Click-to-focusSupported with limitationsSupported with limitationsNot supportedNot supported
WebhooksSupportedSupportedSupportedSupported

✓ Supported · ✕ Not supported · ✓* Supported with limitations

Unreleased integration. Public release 1.46.1 does not include Gemini. Target Gemini CLI 0.62.0; see the guide for native qualification by OS. A compatible release is required. Gemini candidate setup and limits ↗

Compatibility details

* Codex questions depend on the active mode; errors and limits are detected from the final message. Click-to-focus depends on your OS and terminal.

Codex: Windows hook delivery and the question tool hook are not yet qualified in live sessions.

OpenCode: silent completion, question, permission and error alerts for root sessions. No sound or click-to-focus.

Gemini CLI candidate: silent turn-completed and tool-permission alerts. A completed turn does not imply success or a final answer. No sound, click-to-focus, question, error, plan, review or nested-agent parity.

Codex CLI: Requires a published stable plugin release ≥1.42.0. Codex CLI ↗

OpenCode: Tested with OpenCode 1.18.33. Requires plugin release 1.46.0 or newer. OpenCode V2 is not supported. What is OpenCode V2? ↗

OpenCode setup and limitations ↗

Choose a target operating system to reveal your command. Mobile and unknown browsers need an explicit choice.

THE RIGHT SIGNAL. AT THE RIGHT TIME.

Keep your focus
Lose the constant checking

CLICK TO FOCUS

Return with one click

Click a notification to return to its terminal, editor or tab where supported. Claude and Codex CLI only; support depends on your terminal and OS.

SOUND CONTROLS

A sound for every moment

Pick sounds, set the volume, and choose an audio device. Keep the signals you want and quiet the rest. Claude and Codex CLI only.

WEBHOOK INTEGRATIONS

Your workflow, connected

Send updates to Slack, Discord, Telegram, Teams and more. Configure webhooks for wherever you work.

Click-to-focus support depends on your terminal and OS. OpenCode: silent completion, question, permission and error alerts for root sessions. No sound or click-to-focus. See platform details ↗

ONE CLICK. THE RIGHT WINDOW.

Built for your setup
Not just one terminal

Claude and Codex CLI only. Click-to-focus adapts to what you already run. Here is exactly how precise the click gets on each platform.

Terminal / IDEmacOSmacOSLinuxLinuxWindowsWindowsNotes
GhosttyGhostty Exact tab/pane Best-effort Not supportedNeeds Automation permission for exact tab focus.Mapped in the Linux daemon but not yet officially verified.
iTerm2iTerm2 Exact tab/pane Not supported Not supportedRequires enabling iTerm2's Python API, then a restart.
WarpWarp Exact tab/pane Exact tab/pane Exact tab/paneNo extra permissions needed — Warp resolves its own window, tab, and pane.
kittykitty Exact tab/pane Window-level Not supportedExact pane targeting needs kitty's remote control enabled.
WezTermWezTerm Exact tab/pane Exact tab/pane Not supportedTargets the exact pane through WezTerm's own CLI.
VS Code / InsidersVS Code / Insiders Window-level Window-level Window-level
CursorCursor Window-level Best-effort Window-levelFalls back to generic window matching, not a dedicated integration.
JetBrains IDEsJetBrains IDEs Window-level Window-level Window-levelmacOS detects it the same way as any other app, not with a dedicated integration.Linux detects the IDE via its process tree and product-info.json window class. The terminal tab inside it isn't selectable.
Apple TerminalApple Terminal Window-level Not supported Not supportedAlso the default fallback when no other terminal is detected.
AlacrittyAlacritty Window-level Window-level Not supported
HyperHyper Window-level Best-effort Not supportedFalls back to generic window matching, not a dedicated integration.
GNOME TerminalGNOME Terminal Not supported Window-level Not supported
KonsoleKonsole Not supported Window-level Not supported
TilixTilix Not supported Window-level Not supported
TerminatorTerminator Not supported Window-level Not supportedUses the exact window title for precise matching.
XFCE4 TerminalXFCE4 Terminal Not supported Window-level Not supported
MATE TerminalMATE Terminal Not supported Window-level Not supported
Windows TerminalWindows Terminal Not supported Not supported Window-level
Command Prompt / PowerShellCommand Prompt / PowerShell Not supported Not supported Window-level
ConEmuConEmu Not supported Not supported Window-level
tmuxtmux Exact tab/pane Not supported Not supportedAlso works inside iTerm2's -CC control mode.
zellijzellij Exact tab/pane Exact tab/pane Not supportedLinux targets the exact pane when the session exports it, otherwise falls back to the active tab by name.

Exact tab/pane focuses the precise split or tab. Window-level raises the whole app window. Best-effort means the plugin tries a generic match that may land on the wrong window.

On Windows, focus is always window-level — there is no public API to target one tab inside Windows Terminal.

Any other terminal still works through generic window matching. Override the detected app with a custom bundle ID on macOS.

Full permission & compositor details ↗

A FEW THINGS TO KNOW

Frequently asked questions

Everything you need to get back to work.

Do I need every agent installed?

Select any combination of Claude, Codex CLI and OpenCode. Install the selected agents first; the commands below install notifications.

Are Codex hooks installed automatically?

Yes. The installer registers the hooks and saves a stable runtime copy. Open /hooks in Codex to review and trust them. Changed definitions need review again.

Will an update reset my settings?

The installer preserves your shared configuration and foreign Codex hooks. Install and update use the same command. Restart the selected agent after updating.

Can I choose what makes a sound?

Yes. Configure sounds, volume, audio device and notification channels. Choose Configure in the guide for the steps specific to your agent. Claude and Codex CLI only.

Does click-to-focus work everywhere?

Support varies by OS and terminal. iTerm2 needs its Python API for precise tab targeting. Windows focuses a window, not an exact tab. OpenCode: silent completion, question, permission and error alerts for root sessions. No sound or click-to-focus. Check supported environments.

What if I don't get a notification?

Check your OS notification permissions and chosen channels. For Codex, confirm the hooks are trusted. Follow troubleshooting for platform-specific checks.

LET YOUR AGENT TAKE THE NEXT TURN

Your attention is valuable

Make every notification count ↗