Skip to main content

Install on Windows

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

The supported Windows install paths, what the installer verifies, and how to handle SmartScreen on an unsigned preview build.

The live download page is authoritative for Windows availability. It offers the Windows x64 installer only when the current channel contains a verified artifact.

Outcome: Harmony installed, verified against the published digest, with the nala command working in a new terminal.

Requirements

RequirementMinimumRecommended
OSWindows 10 64-bitWindows 11
RAM4 GB8 GB
Disk500 MB app + 1 GB models2 GB total
Architecturex64x64

PLATFORM

Windows on ARM64 is declared as a platform identifier but has no published build. Running the x64 build under emulation is untested. See platform support.

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

The generated script does four things in order:

  1. Reads the current release manifest from the site.
  2. Downloads the artifact for windows-x64.
  3. Verifies the exact byte size and lowercase SHA-256 against the manifest.
  4. Runs the installer only if both match.

If the release changes between steps 1 and 2, the download is rejected with a message telling you to fetch a fresh installer. This is deliberate: it stops a half-published release from being installed.

Option 2 — Command Prompt

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

Identical behaviour. This is the same any-terminal line the download page shows, and it runs from PowerShell too, so it is the one to use when you are not sure which shell you are in.

Option 3 — Inspect first, then run

Piping a remote script straight into a shell is convenient and it is also the thing security teams object to. The inspectable path:

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

Windows blocks saved .ps1 files by default, so running the file you just saved needs -ExecutionPolicy Bypass. ./install-nala.ps1 on its own is refused under the default policy. The piped one-liner above is unaffected: execution policy applies to script files, not to piped text.

Option 4 — Direct download

Download the Setup.exe from the download page and verify it yourself before running:

Get-FileHash .\Harmony-*.Setup.exe -Algorithm SHA256

Compare the result to the SHA-256 shown on the download page. They must match exactly, character for character.

The Windows installer is named Harmony-<version>.Setup.exe. The application it installs is still registered internally as NALA, so its update feed and %APPDATA%\NALA keep that name until a migration ships. Renaming them would disconnect existing installs from their own updates, so the difference is deliberate; the file you verify above is the right one.

SmartScreen

The preview build is not Authenticode signed, so Windows SmartScreen will warn you.

SECURITY

Do not disable SmartScreen globally to work around this. Turning off a machine-wide protection to install one application is a bad trade. Verify the SHA-256 yourself, then use More info → Run anyway for this file only.

Signed production releases are on the roadmap; until then the preview channel labels its signature status honestly in the release manifest and on the download page.

Verify the install

nala version
nala doctor

nala doctor reports the daemon state, provider detection, and runtime prerequisites. It is the first thing to run whenever something looks wrong.

Expected result: a version matching the one on the download page, and a doctor report with no failed checks.

Common recovery

SymptomCauseFix
nala is not recognisedPATH not refreshedOpen a new terminal
Installer exits immediatelySmartScreen blocked itVerify the hash, then Run anyway
Hash mismatch reportedInterrupted download, or a release published mid-downloadRe-run the installer
Doctor reports no daemonDaemon not started yetLaunch nala desktop once, then re-run

More detail: installation troubleshooting.

Next