ntfy is a command-line utility for sending notifications from your shell, both automatically when long-running commands finish and on demand to various notification backends.
The tool solves the problem of staying informed about command completion without constantly checking your terminal. It works by integrating with your shell through bash-preexec and zsh's native hooks to detect when commands start and finish, measuring their duration, and triggering notifications when they exceed a configurable threshold. It can send desktop notifications on Linux, macOS, and Windows, as well as push notifications to phones and chat services. By default it only notifies for commands lasting longer than ten seconds and respects terminal focus to avoid interrupting interactive work, with both behaviors configurable.
The tool suits developers and system administrators who run long-running tasks and want to be notified of completion without manual checking. It works well for anyone using bash or zsh on Linux, macOS, or Windows. The notification backends are modular: desktop notifications work out of the box on most systems, while push services like Pushover, Telegram, Slack, XMPP, Rocket.Chat, and Instapush require optional dependencies installed separately. An interactive program ignore list prevents unnecessary notifications from programs like text editors or pagers.
Development activity shows consistent maintenance with fixes and feature additions across multiple areas. The project accepts contributions addressing both core functionality and backend integrations. Work spans platform-specific concerns including terminal focus detection on X11 and macOS window managers. The codebase handles configuration management across Linux, macOS, and Windows with platform-specific paths and requirements, such as Python DBUS bindings for Linux desktop notifications.