Skip to main content

Installation

PreviewAvailable on: WindowsmacOSLinuxShips in the preview channel only. Not a stable release.

Install Harmony on Windows, macOS, or Linux with one line, or download a build and verify it yourself.

Harmony's release contract supports Windows x64, macOS (Apple silicon and Intel), and Linux x64. The download page lists the exact artifacts and signature state published in the current channel. Preview artifacts may be unsigned, so your OS can warn the first time you open one. That is expected, and handling it takes one click.

Install

macOS, Linux, or WSL:

curl -fsSL https://ideharmony.com/install.sh | sh

Windows — already in PowerShell (short / hero tier):

irm https://ideharmony.com/install.ps1 | iex

Windows — Command Prompt or you are not sure which shell (download tier):

powershell -Command "irm 'https://ideharmony.com/install.ps1' | iex"

If you paste the short irm line into Command Prompt, you get 'irm' is not recognized — that means you are in cmd.exe; use the any-terminal line above, or open PowerShell (prompt starts with PS).

The installer picks the right build for your platform, checks it, and puts nala on your PATH. It pins the version the manifest publishes and refuses to continue unless the byte size and SHA-256 both match — it will not invent a build for a platform we do not publish.

These one-liners come from the same install-command source as the site (COPY-5): hero short form on the home page, download/docs full form here.

Read the script first

Piping a script from the internet into a shell is a reasonable thing to be uncomfortable with. Both installers are plain text and short:

curl -fsSLo install-nala.sh https://ideharmony.com/install.sh
less install-nala.sh
sh install-nala.sh
irm https://ideharmony.com/install.ps1 -OutFile install-nala.ps1
notepad install-nala.ps1
powershell -ExecutionPolicy Bypass -File .\install-nala.ps1

That last line matters. Windows blocks saved .ps1 files by default, so running the file you just downloaded needs -ExecutionPolicy Bypass. (The one-line install above is unaffected — execution policy applies to script files, not to piped text.)

Download manually

If you would rather not run an installer at all, take the file directly. The download page lists the exact filenames, sizes, and SHA-256 for the current release.

SystemFile
Windows x64Harmony-<version>.Setup.exe
macOS Apple siliconNALA-<version>-arm64.dmg
macOS IntelNALA-<version>-x64.dmg
Linux x64 (AppImage)Harmony-<version>-x64.AppImage
Linux x64 (Debian/Ubuntu)nala_<version>_amd64.deb

Three different names, deliberately. Where the filename is only a label it carries the product name; where the filename is an identity the system matches on, it keeps the original. The Debian package name is what dpkg upgrades against, and the macOS disk image derives from the same value as NALA.app and its application-support directory, so renaming either one would strand people who already have it installed.

On Linux, an AppImage needs to be made executable before it will run:

chmod +x Harmony-*-x64.AppImage
./Harmony-*-x64.AppImage

Check what you downloaded

We cannot prove where a build came from with a certificate yet, so verifying the hash yourself is the honest substitute. Compare the output against the SHA-256 shown on /download:

Get-FileHash .\Harmony-*.Setup.exe -Algorithm SHA256
shasum -a 256 ./NALA-*.dmg          # macOS
sha256sum ./Harmony-*.AppImage      # Linux (AppImage)
sha256sum ./nala_*.deb              # Linux (Debian/Ubuntu)

Unsigned builds

Preview builds are not code-signed. Your OS will say so, in language that sounds worse than it is.

OSWhat you will seeWhat to do
WindowsSmartScreen: "Windows protected your PC"More info → Run anyway. Do not turn SmartScreen off globally.
macOSGatekeeper may call the app damagedSystem Settings → Privacy & Security → Open Anyway. On older macOS, Control-click the app → Open. "Damaged" here means unsigned, not corrupt.
LinuxNo signature prompt; AppImage needs execute permissionVerify the SHA-256, then chmod +x

Verify

nala version
nala doctor

nala doctor checks the parts that usually go wrong and tells you which one did. Then:

nala desktop   # the desktop app
nala           # the terminal agent, in the current directory

If your shell says nala is not found, open a new terminal — PATH changes do not apply to windows that were already open.

Update

nala update           # install the newest build on your channel
nala update --check   # just look; change nothing

Windows artifacts use the automatic Squirrel update path. macOS and Linux use a fresh verified download when those artifacts are present in the channel.

ChannelWhat it means
previewWhere every build lives right now. Unsigned.
stableReserved for signed releases. Nothing is published here yet.

You are on preview, and that is deliberate — it is where the builds are. Switching to stable today would leave you on a channel with nothing in it. Change it in Settings → Update Channel when signed releases exist.

If the command failed

The most common install failure is running the right command in the wrong shell, and no shell tells you that. Match the error text:

The error saysWhat happenedFix
The token '&&' is not a valid statement separatorYou are in PowerShell, running a Command Prompt lineUse the PowerShell command
'irm' is not recognized as an internal or external commandYou are in Command Prompt, running a PowerShell lineUse the Windows command above — it works in both
cannot be loaded because running scripts is disabledWindows blocked a saved .ps1Run it with powershell -ExecutionPolicy Bypass -File .\install-nala.ps1
syntax error near unexpected tokenThe server returned an error page and your shell tried to run the HTMLFetch without piping to see the real error: curl -fsSL <url> | head
command not found: nalaIt installed; your shell has not picked up the new PATHOpen a new terminal

Your prompt tells you which Windows shell you are in: PowerShell shows PS C:\>, Command Prompt shows C:\> with no PS.

Still stuck? Report it — include the exact error text.

Requirements

MinimumRecommended
OSWindows 10 64-bit, recent macOS, or a modern Linux desktopWindows 11 / current macOS / Ubuntu 22.04+ or Fedora 39+
RAM4 GB8 GB
Disk~250–450 MB, plus room for voice models if you use them2 GB free
InternetNeeded to download, and for third-party agent CLIsBroadband

On some distros an AppImage also needs libfuse2, and desktop integration needs xdg-utils.

Package managers (Homebrew, WinGet) are not supported yet — both expect signed applications, so they are waiting on the same signing work.

Per-OS detail

Next

  1. Your first workspace
  2. Connect a provider
  3. Uninstall, if you need a clean removal