Installing Node.js¶
In this guide
What Node.js is and why some Indigo integrations need it, the three commands it installs
(node, npm and npx), how to install it from the official installer, and how to check
that it works, including from apps that aren't run from Terminal.
Indigo doesn't need Node.js, and most Indigo users will never install it. You only need it when a plugin or integration you want to use tells you it does. This page explains what you're installing and walks you through installing it and checking it works.
What Node.js is¶
Node.js (usually just "Node") runs programs written in JavaScript on your Mac. JavaScript started out as the language of web pages, but a lot of software is now written in it and runs on its own, outside a browser. Node is what runs those programs. Much of the time you don't see it at all: another app starts it in the background.
Installing Node gives you three commands:
| Command | What it does |
|---|---|
node |
The Node program itself. It runs JavaScript programs. |
npm |
The Node Package Manager. It downloads and installs JavaScript packages (ready-made programs and libraries) from the public npm registry at npmjs.com. |
npx |
Runs a command from a package, downloading the package first if it isn't already on your Mac. Many tools tell you to use npx so that you don't have to install anything separately. |
You can't use one part without the others: npm and npx are themselves JavaScript programs
that node runs, and all three come in the same installer.
Why you might want it¶
Some examples of things you might use with Indigo that need Node:
- Some third-party plugins. A plugin's documentation or store page will say if it needs Node.
- Node-RED, a popular visual automation tool that some Indigo users run alongside Indigo.
- Connecting Claude Desktop to Indigo. The bridge Claude Desktop uses to reach Indigo's MCP
server is a small Node program that runs with
npx. See Connecting a Chat Client.
If nothing you use asks for Node, you don't need to install it.
npx runs code from the internet
When you give npx a package name, it downloads that package from the npm registry and runs
it on your Mac, with the same access to your files as you have. Only use package names that
come from documentation you trust, and type them exactly. A misspelled package name could be
a different package published by someone else.
Using the official installer¶
The easiest way to install Node is the official macOS installer. It installs node, npm
and npx in /usr/local/bin, where Terminal and other Mac apps can all find them.
- Go to nodejs.org and click Download.
- Choose the LTS version. LTS ("long-term support") versions get fixes for much longer, while "Current" versions change more often. Plugins and tools are tested against LTS.
- Download the macOS Installer (.pkg), not a prebuilt "binary" or the Docker option.
- Open the downloaded
.pkgfile and follow the steps. You'll be asked for an administrator password.
That's everything. You don't need to restart your Mac.
Already use Homebrew or nvm?
If you manage developer tools with Homebrew (brew install node) or a
version manager such as nvm, those work too. Just note that they put Node somewhere other
than /usr/local/bin, for example /opt/homebrew/bin on Apple silicon Macs. Apps that you
don't open from Terminal may then not find it. See
Apps that don't run from Terminal below.
Checking the installation¶
Open Terminal (in Applications → Utilities) and run each of these commands. Each one should print a version number. The exact numbers will differ from these examples:
Then check where Node was installed:
If you used the official installer, you should see /usr/local/bin/npx. Make a note of the
path whichever way you installed Node: some setups ask you for it.
Finally, check that Node can actually run a program:
If any command prints command not found, the installation didn't finish. Run the installer
again, then open a new Terminal window. A window that was already open before you
installed Node won't pick up the new commands.
Apps that don't run from Terminal¶
Terminal looks for commands in a list of folders called your path, and your shell settings
can add folders to that list. Apps you open from the Finder or the Dock don't read those
settings. They get a shorter, built-in list. So a command that works in Terminal can still fail
in an app with an error such as spawn npx ENOENT (that is, "couldn't find npx").
If you installed Node with the official installer, this rarely comes up, because
/usr/local/bin is a standard location. If you installed it another way, or you do see that
error:
- Give the app the full path from
which npx(for example/opt/homebrew/bin/npx) instead of justnpx. - Tell the app where
nodeis, too, if it lets you set environment variables.npxneeds to findnodeto run, so the full path tonpxalone isn't always enough. SetPATHto a list that starts with the folderwhich nodeprinted, for example/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin.
The Claude Desktop setup in Connecting a Chat Client shows where both of these go in its configuration file.
Keeping Node up to date¶
The official installer doesn't update itself. To update, download the current LTS installer
from nodejs.org and run it again: it replaces the version you have. If you
installed with Homebrew, run brew upgrade node.
Removing Node¶
The official installer has no uninstaller. If you're sure nothing you use still needs Node, you can remove it in Terminal:
sudo rm -rf /usr/local/bin/node /usr/local/bin/npm /usr/local/bin/npx \
/usr/local/bin/corepack /usr/local/lib/node_modules /usr/local/include/node \
/usr/local/share/doc/node /usr/local/share/man/man1/node.1
Some of those may not exist on your Mac, depending on the Node version. That's fine.
Packages that npx downloaded are kept in a cache folder, ~/.npm. You can delete that too.