# Install terminal-notifier with Homebrew, MacPorts, Nix

Send macOS User Notifications from the command-line. Version 2.0.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:terminal-notifier
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install terminal-notifier
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install terminal-notifier
```

  Evidence: MacPorts ports tree: aqua/terminal-notifier/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#terminal-notifier
```

  Evidence: nixpkgs package indexes: pkgs/by-name/te/terminal-notifier/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:terminal-notifier
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/terminal-notifier>
- **Version:** 2.0.0
- **Source summary:** Send macOS User Notifications from the command-line
- **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>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- terminal-notifier (cli)
- terminal-notifier (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.0.0
- Local data: ok
- Upstream repository: https://github.com/julienXX/terminal-notifier
- Upstream latest detected: 2.0.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

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.

### Project history

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.

### Adoption history

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.

### How it is used

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.

### Why package nerds care

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.

### Timeline

- 2012: GitHub repository created on July 15.
- 2013: Release 1.5.0 added piped input, sender, sound, URL handling, and help support.
- 2014: Release 1.6.1 added OS X 10.10 compatibility.
- 2016: Release 1.7.0 merged alerter features such as reply and actions.
- 2017: Release 1.8.0 made terminal-notifier a standard command-line app and deprecated OS X 10.8 and 10.9.
- 2017: Release 2.0.0 removed alerter features and returned to a smaller focused tool.

### Related projects

- alerter is the closest sibling project, split out for sticky notifications and action buttons. terminal-notifier also overlaps with scripting wrappers and package-manager recipes that expose macOS Notification Center from shell and Ruby workflows.

### Sources

- GitHub README: https://github.com/julienXX/terminal-notifier#readme
- GitHub releases: https://github.com/julienXX/terminal-notifier/releases
- GitHub repository metadata: https://api.github.com/repos/julienXX/terminal-notifier
- Input source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** terminal-notifier
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Requirements:** macos, xcode
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - terminal-notifier: normalized package name match | nixpkgs package indexes: pkgs/by-name/te/terminal-notifier/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - terminal-notifier: normalized package name match | MacPorts ports tree: aqua/terminal-notifier/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [bit](https://www.automicvault.com/pkg/brew/bit/) - Popular package that depends on this formula.
- [fastlane](https://www.automicvault.com/pkg/brew/fastlane/) - Popular package that depends on this formula.
- [gopass](https://www.automicvault.com/pkg/brew/gopass/) - Popular package that depends on this formula.
- [heroku](https://www.automicvault.com/pkg/brew/heroku/) - Popular package that depends on this formula.
- [joplin-cli](https://www.automicvault.com/pkg/brew/joplin-cli/) - Popular package that depends on this formula.
- [mikutter](https://www.automicvault.com/pkg/brew/mikutter/) - Popular package that depends on this formula.
- [profanity](https://www.automicvault.com/pkg/brew/profanity/) - Popular package that depends on this formula.
- [sql-language-server](https://www.automicvault.com/pkg/brew/sql-language-server/) - Popular package that depends on this formula.
- [duti](https://www.automicvault.com/pkg/brew/duti/) - Shares av.db curated category or tags: cli, desktop-integration, macos, system.
- [desktop-file-utils](https://www.automicvault.com/pkg/brew/desktop-file-utils/) - Shares av.db curated category or tags: cli, desktop-integration, system.
- [asitop](https://www.automicvault.com/pkg/brew/asitop/) - Shares av.db curated category or tags: cli, macos, system.
- [bluetoothconnector](https://www.automicvault.com/pkg/brew/bluetoothconnector/) - Shares av.db curated category or tags: cli, macos, system.
- [blueutil](https://www.automicvault.com/pkg/brew/blueutil/) - Shares av.db curated category or tags: cli, macos, system.
- [brightness](https://www.automicvault.com/pkg/brew/brightness/) - Shares av.db curated category or tags: cli, macos, system.
- [cliclick](https://www.automicvault.com/pkg/brew/cliclick/) - Shares av.db curated category or tags: cli, macos, system.
- [dark-mode](https://www.automicvault.com/pkg/brew/dark-mode/) - Shares av.db curated category or tags: cli, macos, system.
- [clifm](https://www.automicvault.com/pkg/brew/clifm/) - Local package facts share a topical domain. Shared terms: cli, command-line, line, system, terminal.

## Combined YAML source

View the package source record on GitHub. [combined/terminal-notifier.yml](https://github.com/automic-vault/db/blob/main/combined/terminal-notifier.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
