node package manager



Reduction of node-osx-notifier to drive from the command line or directly from another node.js script, instead of an express server.

Command line install & usage

npm install -g osx-notifier

Usage (osx-notifier --help):

  --type      type of icon to show;
              one of "info", "fail", or "pass" [default: "info"]
  --title     title of the notification [default: "Terminal"]
  --subtitle  subtitle of the notification
  --message   message body of the notification [required]
  --group     replace and be replaced by any notifications of the same group
  --remove    remove any notifications previously posted with this group
              (or ALL groups)
  --list      list notifications previously posted with this group
              (or ALL groups)
  --activate  bundle identifier of an application to be activated
              if the user clicks the notification
  --open      open a url / file / custom url scheme
              if the user clicks the notification
  --execute   execute a shell command
              if the user clicks the notification
  --help      print this help message
  --verbose   print extra output
  --version   print version

API install & usage

npm install osx-notifier

Or in your package.json:

  "dependencies": {
    "osx-notifier": "*"


var notify = require('osx-notifier');
var duration = 45;
  type: 'pass',
  title: 'Taskdoer Report',
  subtitle: 'Task completed',
  message: 'Took ' + duration + ' seconds.',
  group: 'taskdoer',


The Mac OS X Notification Center can only be accessed via signed apps, and any message sent from an application must be accompanied by the icon for that application.

Three variations on terminal-notifier are included with this app, which are accessed via the different --type options:

--type sample
info info screenshot
pass pass screenshot
fail fail screenshot

Winston integration

You can use this functionality from within winston (a popular logging library) as a "Transport" via my winston-notification-center plugin package (available from npm).


var winston = require('winston');
var NotificationCenterTransport = require('winston-notification-center');
winston.add(NotificationCenterTransport);'Hello world.');

See the winston-notification-center project page for more options.


Thanks to azoff for the prebuilt apps and the screenshots, and to alloy for the great OS X application wrapper.


Copyright 2013 Christopher Brown. MIT Licensed.