macOS
brew install terminal-notifierlocal Homebrew formula metadata
sudo port install terminal-notifierMacPorts ports tree · aqua/terminal-notifier/Portfile · source: api.github.com
brew
Send macOS User Notifications from the command-line. Version 2.0.0 via Homebrew; verified from local package data.
install
brew install terminal-notifierlocal Homebrew formula metadata
sudo port install terminal-notifierMacPorts ports tree · aqua/terminal-notifier/Portfile · source: api.github.com
nix profile install nixpkgs#terminal-notifiernixpkgs package indexes · pkgs/by-name/te/terminal-notifier/package.nix · source: api.github.com
overview
Send macOS User Notifications from the command-line
history
terminal-notifier is a macOS command-line bridge to User Notifications. It became a common small utility for shell scripts, build systems, Ruby projects, and package-manager users that wanted Notification Center messages without writing a Cocoa application.
The GitHub repository was created in July 2012, the year Apple introduced Notification Center on OS X Mountain Lion. The README explains the central packaging compromise: the tool was historically distributed as an application bundle because NSUserNotification did not work from a plain Foundation command-line tool.
The project grew around scriptable notification primitives: message text, title and subtitle, sounds, grouping and removal, opening URLs, activating apps, and setting sender or icon behavior. The README also documents a Ruby wrapper and a RubyGems installation path, which helped the tool circulate in Ruby-oriented automation as well as ordinary shell use.
A notable maintenance chapter came in 2016 and 2017, when features from alerter were merged into terminal-notifier 1.7 and then removed again for 2.0.0. The README and 2.0.0 release notes frame the split as a decision to keep terminal-notifier and alerter as smaller specialized tools, with terminal-notifier dropping sticky notifications and action buttons.
terminal-notifier's README has long documented Homebrew installation alongside prebuilt releases and RubyGems. The input package facts also list Homebrew, MacPorts, and Nix, showing that it crossed from a GitHub utility into several package-manager ecosystems.
The release history shows sustained maintenance through macOS platform changes: 1.5.0 in 2013 added piped message data, sender spoofing, sound support, and URL escaping; 1.6.x handled OS X 10.10 compatibility; 1.8.0 briefly changed distribution to a standard command-line app before 2.0.0 returned to the bundle model.
Typical usage is to emit a desktop notification at the end of a long-running shell command, CI step, backup job, synchronization task, or local development workflow. The README examples show piped message data, custom icons, opening a URL when clicked, and activating a macOS app.
The `-group` option is especially package-nerd friendly: scripts can replace or remove prior notifications under a stable group ID instead of spamming the notification center. The `-list` output is tab-separated, making it parseable from shell scripts.
terminal-notifier matters in the Homebrew-era macOS CLI niche because it gave Unix-style scripts access to a native macOS UI affordance. It is the kind of package users install once and then wire into makefiles, deploy scripts, long compiles, package builds, and dotfile workflows.
Its maintenance history also reflects a recurring packaging tension on macOS: command-line users want a simple executable, but Apple's notification APIs and App Store rules pushed the project toward an app-bundle distribution with caveats.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
terminal-notifier | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/julienXX/terminal-notifier
install metadata
| Package key | brew:terminal-notifier |
|---|---|
| Version | 2.0.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/terminal-notifier |
| Homepage | https://github.com/julienXX/terminal-notifier |
| Repository | https://github.com/julienXX/terminal-notifier |
| Upstream docs | https://github.com/julienXX/terminal-notifier#readme |
| License | MIT |
| Source archive | https://github.com/julienXX/terminal-notifier/archive/refs/tags/2.0.0.tar.gz |
| Bottle | available (on arm64_big_sur, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | terminal-notifier |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Requirements |
|
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
terminal-notifier
nix profile install nixpkgs#terminal-notifierterminal-notifier
sudo port install terminal-notifiersource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.