agents-notifier
Set it up in 2-3 minutes and get local coding agent updates on your phone, Slack, Discord, Telegram, WhatsApp, Weixin, Microsoft Teams, email, Feishu/Lark, Pushover, or webhook.
中文文档:docs/README.zh-CN.md
Quick start
"Imagine Codex Desktop App keeps working while you make coffee or do laundry.
The moment the job finishes, you get a notification and know it is time to come back."
⚡ Local-only notifications for AI coding agents.
Built for local agents like Codex Desktop, Codex CLI, Claude Code, GitHub Copilot CLI, Gemini CLI, Aider, Cursor CLI, OpenCode CLI, OpenClaw, and Hermes Agent CLI.
Built in Rust 🦀. Fast, small, and quiet in the background.
Agent on your computer -> Agents Notifier -> Your provider
No cloud account. No hosted backend. No extra dashboard.
✅ Support
Agents:
- Codex Desktop on macOS and Windows
- Codex CLI through hooks on macOS, Linux, and Windows
- Claude Code through hooks on macOS, Linux, and Windows
- GitHub Copilot CLI through hooks on macOS, Linux, and Windows
- Gemini CLI through hooks on macOS, Linux, and Windows
- Aider through notification commands on macOS, Linux, and Windows
- Cursor CLI through a completion wrapper on macOS, Linux, and Windows
- OpenCode CLI through plugins on macOS, Linux, and Windows
- OpenClaw through plugin hooks on macOS, Linux, and Windows
- Hermes Agent CLI through plugin hooks on macOS, Linux, and Windows
Providers (Where do you want to get the notification?):
🔒 Privacy
Agents Notifier runs locally.
Your data does not go to an Agents Notifier cloud.
Notifications go directly from your computer to your provider.
For Codex Desktop, it reads only completion data needed for the notification:
- project
- project path
- session
- Codex thread link
- duration
- branch
- time
- final answer preview by default, or full answer when enabled
- prompt only when explicitly enabled
- computer name
In Feishu/Lark, notifications are sent as Codex-colored interactive cards with a clickable Open in Codex button.
The button opens a local browser URL first, then hands off to Codex Desktop.
⚙️ Install - Step 1
Pick one install method. That is enough.
Recommended:
Copy this into your Terminal:
npx --yes agents-notifier setup
Prefer a persistent npm install:
npm install -g agents-notifier
agents-notifier setup
Without Node.js/npm:
curl -fsSL https://raw.githubusercontent.com/lumpinif/agents-notifier/main/install.sh | sh
agents-notifier setup
Windows PowerShell:
irm https://raw.githubusercontent.com/lumpinif/agents-notifier/main/install.ps1 | iex
agents-notifier setup
From source:
git clone https://github.com/lumpinif/agents-notifier.git
cd agents-notifier
cargo install --path .
agents-notifier setup
🚀 Setup - Step 2
agents-notifier setup
Setup only requires two choices:
First choose the CLI language. English is the default, and Simplified Chinese is available.
Then setup only requires two choices:
- Which agent should it watch?
- Where should notifications go?
Then it writes config, starts the service, and sends a test notification.
For optional settings such as answer detail and prompt inclusion, see Setup.
🎉 That's it
The service runs locally:
- macOS: LaunchAgent
- Linux: systemd user service
- Windows: Task Scheduler
To stop using the service, run agents-notifier stop.
Provider setup guides:
Agent setup guides:
🧹 Uninstall
Remove Agents Notifier cleanly:
npx --yes agents-notifier uninstall
If you installed it globally with npm, remove the npm package after local cleanup:
agents-notifier uninstall
npm uninstall -g agents-notifier
🧭 Commands
agents-notifier setup
agents-notifier start
agents-notifier status
agents-notifier stop
agents-notifier uninstall
agents-notifier watch
CLI agent hooks can submit events with:
agents-notifier emit \
--source codex_cli \
--title "Codex" \
--body "Ready for review."
agents-notifier emit \
--source claude_code \
--title "Claude Code" \
--body "Claude Code finished a task."
agents-notifier emit \
--source opencode_cli \
--title "OpenCode CLI" \
--body "OpenCode CLI finished a task."
agents-notifier emit \
--source gemini_cli \
--title "Gemini CLI" \
--body "Gemini CLI finished a task."
emit only talks to the local service. Providers are sent by the service.
✨ Example
Codex Desktop + Lark integration, including Apple Watch push notifications.
Codex Desktop
Project: agents-notifier
Session: README polish
Open in Codex: codex://threads/019e1049-2d6d-7de2-bcdf-f47346930b71
Duration: 1m 32s
Branch: main
Time: 2026-05-10 01:35:42 +08:00
Preview: Updated the README with a clearer setup flow...
📝 Config
~/.config/agents-notifier/config.toml
Most users should use agents-notifier setup.
🧩 Core
Source -> Signal -> Router -> Provider
Simple core. More agents and providers over time.
Contributions welcome. 💛