Install the developer CLI

Download all docs

Install and configure octonodes using npm or a published package-manager channel.

The npm package is @octonodes/cli; the installed command is octonodes. It creates apps and plugins and calls the Octonode API. The separate octonode workflow engine uses a different executable.

Available now: npm, npx, pnpm, Yarn and Bun use the published npm package. Pending publication: Homebrew, WinGet, Scoop, Chocolatey, DEB/APT, RPM/DNF, Arch/AUR, Snap, Docker and direct installers have prepared distribution recipes. Their commands below become usable when the corresponding channel is published. An npm release does not automatically make those channels available.

Prerequisites

For npm-based installation, install Node.js 20.19+ or 22.12+ (^20.19.0 || >=22.12.0) and your chosen package manager. Use Node 22.12 or newer for new projects. Check the runtime before installing:

node --version
npm --version

Node should report v20.19.0 or newer 20.x, or v22.12.0 or newer. Homebrew will install node@24 as a dependency; the planned portable, MSI, DEB, RPM, Scoop, Chocolatey, Arch and Snap packages include their own Node 24 runtime. App and plugin projects still need a separate supported Node runtime and a package manager to install project dependencies. Your project code and dependencies must also support the chosen runtime.

npm, pnpm, Yarn and Bun

Choose one global installation method:

Package managerInstall globallyRun once without a global install
npmnpm install --global @octonodes/clinpx --yes @octonodes/cli@latest --help
pnpmpnpm add --global @octonodes/clipnpm dlx @octonodes/cli --help
Yarn Classic (1.x)yarn global add @octonodes/cliUse npm's npx command above
Yarn 2+ / 4Use npm or pnpm for global installationyarn dlx @octonodes/cli --help
Bunbun add --global @octonodes/clibunx @octonodes/cli --help

One-off commands do not add octonodes permanently to your PATH. To run another command once, replace --help, for example npx --yes @octonodes/cli@latest login. To pin a release, replace @latest with an exact published version, such as npx --yes @octonodes/cli@0.2.16 --help.

If pnpm reports no global bin directory, run pnpm setup and open a new terminal. For Yarn Classic, ensure the directory from yarn global bin is on PATH. Bun's global binaries normally live in ~/.bun/bin; see Bun installation. Keep a supported Node version on PATH even when using Bun as the package manager.

Homebrew — macOS and Linux

Pending tap publication. Install Homebrew first. The planned tap is nivdoron1/homebrew-tap:

brew install nivdoron1/tap/octonodes
octonodes --version

The equivalent two-step setup is brew tap nivdoron1/tap, then brew install octonodes. The formula selects its Node 24 dependency automatically.

Windows — WinGet, Scoop, Chocolatey or MSI

Pending channel publication; Windows x64. Install your chosen package manager first: WinGet, Scoop or Chocolatey.

# WinGet, after the manifest is published to its community source
winget install --id Octonode.CLI --exact --source winget

# Chocolatey, in an administrator terminal after community publication
choco install octonodes --yes

For Scoop, add the published bucket before installing. The bucket URL has not been assigned yet; replace PUBLISHED_BUCKET_URL with the announced Git URL:

scoop bucket add octonode PUBLISHED_BUCKET_URL
scoop install octonode/octonodes

Alternatively, download octonodes-X.Y.Z-win32-x64.msi and SHA256SUMS from the published release. Compare Get-FileHash .\octonodes-X.Y.Z-win32-x64.msi -Algorithm SHA256 with the matching checksum, then run the MSI. It installs for all users, requires administrator permission and registers the command on the system PATH. Open a new terminal after any Windows installation.

Linux — DEB/APT, RPM/DNF, Arch/AUR and Snap

Pending package or repository publication. DEB/RPM/Arch/Snap target Linux x64 and arm64. Portable Linux packages need glibc 2.28+ and libstdc++; Alpine/musl is outside the prepared portable build matrix.

Download a matching package and SHA256SUMS from the published release and verify it with sha256sum --check --ignore-missing SHA256SUMS before installing:

# Debian / Ubuntu: use amd64 for x64, or arm64 for ARM64
sudo apt install ./octonodes_X.Y.Z_amd64.deb

# Fedora / RHEL: use x86_64 for x64, or aarch64 for ARM64
sudo dnf install ./octonodes-X.Y.Z-1.x86_64.rpm

After configuring the publisher's signed APT or DNF repository, installation and updates use the package manager directly:

# Debian / Ubuntu, after adding the published APT URL and signing key
sudo apt update
sudo apt install octonodes

# Fedora / RHEL, after adding the published DNF URL and signing key
sudo dnf install octonodes

Repository URLs and signing-key fingerprints will be announced when those repositories are published. Do not disable signature verification.

For Arch, review the published AUR recipe before building. With Git and base-devel installed:

git clone https://aur.archlinux.org/octonodes-bin.git
cd octonodes-bin
less PKGBUILD
makepkg -si

If you already use an AUR helper, yay -S octonodes-bin is an alternative. For Snap, install snapd first; the listing also requires publisher approval for classic confinement:

sudo snap install octonodes --classic

Direct installation — macOS, Linux and Windows

Pending release-asset hosting. Choose an installer release from GitHub Releases. Replace X.Y.Z with its exact published installer version; the commands assume the planned GitHub release asset location.

On macOS or Linux, download and inspect the installer before running it:

CLI_VERSION=X.Y.Z
RELEASE_URL="https://github.com/nivdoron1/octonode-devtools/releases/download/cli-v${CLI_VERSION}"
curl --fail --location --proto '=https' "$RELEASE_URL/install.sh" -o install-octonodes.sh
less install-octonodes.sh
sh install-octonodes.sh
export PATH="$HOME/.local/bin:$PATH"
octonodes --version

Add the PATH line to your shell profile for future terminals. The installer detects macOS/Linux x64 or arm64, verifies the archive checksum, and installs under ~/.local/share/octonodes, with a command link in ~/.local/bin. Set OCTONODES_INSTALL_DIR and OCTONODES_BIN_DIR before running it to choose different locations. The macOS portable runtime requires macOS 13.5 or later.

On Windows x64, download and inspect the PowerShell installer:

$CliVersion = 'X.Y.Z'
$ReleaseUrl = "https://github.com/nivdoron1/octonode-devtools/releases/download/cli-v$CliVersion"
Invoke-WebRequest "$ReleaseUrl/install.ps1" -OutFile install-octonodes.ps1
Get-Content .\install-octonodes.ps1
& .\install-octonodes.ps1

Use your organization's PowerShell execution policy for downloaded scripts. The installer verifies the ZIP checksum, installs under %LOCALAPPDATA%\Octonodes and updates your user PATH. Open a new terminal afterwards. Set OCTONODES_INSTALL_DIR beforehand to choose a different installation directory. Installing the same version again refuses to overwrite its directory.

Docker

Pending image publication. Install Docker and replace PUBLISHED_IMAGE:VERSION with the announced image and immutable tag:

docker run --rm PUBLISHED_IMAGE:VERSION --help
docker run --rm PUBLISHED_IMAGE:VERSION --version

The image uses octonodes as its entrypoint and includes Node 24. Pass CLI arguments after the image name. Bind-mount your project to a working directory for file-based commands; interactive login state is not retained by --rm.

Add a signed APT or DNF repository

Pending repository publication. Use the repository URL, signing-key URL and key fingerprint announced by the publisher. The PUBLISHED_... values below are placeholders; there is no live Octonodes APT or DNF address configured yet. These steps require curl and GnuPG, plus administrator access.

Debian / Ubuntu

Set the published APT repository and signing-key URLs, download the public key, and inspect its fingerprint:

APT_REPO_URL='PUBLISHED_APT_REPOSITORY_URL'
APT_KEY_URL='PUBLISHED_APT_SIGNING_KEY_URL'
curl --fail --location --proto '=https' "$APT_KEY_URL" -o octonodes-signing-key.asc
gpg --show-keys --with-fingerprint octonodes-signing-key.asc

Compare the fingerprint with the publisher's announced fingerprint before continuing. Then scope the key to this repository and add the stable suite and main component:

gpg --dearmor --output octonodes-archive-keyring.gpg octonodes-signing-key.asc
sudo install -d -m 0755 /etc/apt/keyrings
sudo install -m 0644 octonodes-archive-keyring.gpg /etc/apt/keyrings/octonodes.gpg
printf 'deb [arch=%s signed-by=/etc/apt/keyrings/octonodes.gpg] %s stable main\n' \
  "$(dpkg --print-architecture)" "$APT_REPO_URL" \
  | sudo tee /etc/apt/sources.list.d/octonodes.list
sudo apt update
sudo apt install octonodes

The prepared repository supports amd64 and arm64. To stop receiving updates from it, remove /etc/apt/sources.list.d/octonodes.list and its dedicated keyring, then run sudo apt update.

Fedora / RHEL

Set the published DNF repository and signing-key URLs and check the key:

DNF_REPO_URL='PUBLISHED_DNF_REPOSITORY_URL'
DNF_KEY_URL='PUBLISHED_DNF_SIGNING_KEY_URL'
curl --fail --location --proto '=https' "$DNF_KEY_URL" -o octonodes-rpm-signing-key.asc
gpg --show-keys --with-fingerprint octonodes-rpm-signing-key.asc

After matching the fingerprint with the publisher's announcement, import the key and configure verification of both RPM packages and repository metadata:

sudo rpm --import octonodes-rpm-signing-key.asc
sudo tee /etc/yum.repos.d/octonodes.repo > /dev/null <<EOF
[octonodes]
name=Octonodes CLI
baseurl=${DNF_REPO_URL}
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=${DNF_KEY_URL}
EOF
sudo dnf install octonodes

This configuration requires the publisher to sign both packages and metadata. The prepared repository supports x86_64 and aarch64. To remove the repository configuration, delete /etc/yum.repos.d/octonodes.repo; remove the installed package separately with sudo dnf remove octonodes.

Verify and sign in

After a global, native or direct installation:

octonodes --version
octonodes --help
octonodes login

Login opens browser authentication. For a terminal-only session, use octonodes login --email you@example.com. If the command is not found, open a new terminal and check your package manager's global bin directory or the direct installer PATH. Use command -v octonodes on macOS/Linux or Get-Command octonodes in PowerShell to see which installation is selected.

Update or uninstall

Use the same channel that installed the CLI:

ChannelUpdateUninstall
npmnpm install --global @octonodes/cli@latestnpm uninstall --global @octonodes/cli
pnpmpnpm add --global @octonodes/cli@latestpnpm remove --global @octonodes/cli
Yarn Classicyarn global add @octonodes/cli@latestyarn global remove @octonodes/cli
Bunbun add --global @octonodes/cli@latestbun remove --global @octonodes/cli
Homebrewbrew update then brew upgrade octonodesbrew uninstall octonodes
WinGetwinget upgrade --id Octonode.CLI --exactwinget uninstall --id Octonode.CLI --exact
Scoopscoop update octonodesscoop uninstall octonodes
Chocolateychoco upgrade octonodes --yeschoco uninstall octonodes --yes
APT repositorysudo apt update then sudo apt install --only-upgrade octonodessudo apt remove octonodes
DNF repositorysudo dnf upgrade octonodessudo dnf remove octonodes
Arch / AUR helperyay -S octonodes-binsudo pacman -R octonodes-bin
Snapsudo snap refresh octonodessudo snap remove octonodes

For a downloaded DEB/RPM/MSI, download and verify the newer package and install it with the same tool. Remove an MSI through Windows Installed apps. For direct installations, run the newer version's installer; to uninstall, remove its managed command link or PATH entry and its version directory. For Docker, pull the newer tag and recreate the container, or remove the image with docker image rm. Login data under ~/.octonode is separate from installed binaries; use octonodes logout before uninstalling to remove the saved login and revoke a saved Studio session. Static API tokens must be revoked separately in Studio.

Continue with Create your first app, Nodes and plugins, or the separate workflow engine CLI reference.