Easily execute arbitrary AppleScript code on OS X through NodeJS with Promises.
Last updated 3 years ago by lucasbento .
MIT · Original npm · Tarball · package.json
$ cnpm install applescript-promise 
SYNC missed versions from official npm registry.


A high-level way to execute AppleScript code through NodeJS and retrieve the result as a native JavaScript object. Underneath the hood, this module is just a simple wrapper around the OS X osascript command.


AppleScripts are the only way to communicate and interact with certain external OS X processes, for example iTunes.

Easy Install

yarn add applescript-promise


  • Mac (or Hackintosh) running OS X (tested with Sierra)
  • NodeJS (v4.4.7 or newer)


The node-applescript-promise module provides execString and execFile functions to easily execute AppleScript commands and buffer the output into a calback.

import applescript from 'applescript';

// Very basic AppleScript command. Returns the song name of each
// currently selected track in iTunes as an 'Array' of 'String's.

const script = 'tell application "iTunes" to get name of selection';

  .then((tracks) => {
    tracks.forEach(songName => console.log(songName);
  .catch((error) => {
    // Something went wrong
    console.log('error:', error);

execFile works the exact same way, except you pass the path of the AppleScript (*.applescript) file as the first argument instead of the command itself, and you may pass an optional Array of strings as a second argument to send to the applescript file.


The node-applescript-promise module is licensed under the MIT license.

This module is a merely wrapper over node-applescript.

Current Tags

  • 0.0.6                                ...           latest (3 years ago)

6 Versions

  • 0.0.6                                ...           3 years ago
  • 0.0.5                                ...           3 years ago
  • 0.0.4                                ...           3 years ago
  • 0.0.3                                ...           3 years ago
  • 0.0.2                                ...           3 years ago
  • 0.0.1                                ...           3 years ago
Maintainers (1)
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 0
Last Month 1
Dependencies (3)
Dev Dependencies (10)

Copyright 2014 - 2016 © |