Install Helmsly

Helmsly

Local use needs no account.

Current version0.2.475verified 2026-10-16 19:20 UTC
ChannelPrimary
  1. Install
  2. Open the hub
  3. Pair later for remote access. Local use never needs pairing.

Every platform is on this page.

Windows

winget install Slobal.Helmsly

Select and copy the command above, then run it in a terminal.

InstallerDownload the Windows installer · 81.2 MB
SHA-25653a5363ced57406187e52bc64f63108cafafdae1cd87c679adf1025f011fde49

Windows shows a warning the first time

Slobal is new and Windows warns about any installer it has not seen many times. The warning does not mean the file is unsafe: we do not yet hold the paid publisher certificate that removes it, and Slobal will sign the installer with one later. Updates inside Helmsly are signed separately and Helmsly checks them itself.

What to do

  1. Open the downloaded file, helmsly-setup-0.2.475-windows-x64.exe.
  2. If you see "Windows protected your PC", select "More info".
  3. Check the publisher line and the file name shown. The publisher can read "Unknown publisher" until we hold the certificate. Then select "Run anyway".
  4. Follow the installer to the end.

Anti-virus software can ask for your approval too. Allow the file if the name matches and the checksum below matches.

Check the download

Open Windows PowerShell in the folder that holds the file and run this command. The value it prints must match the checksum below.

Get-FileHash .\helmsly-setup-0.2.475-windows-x64.exe -Algorithm SHA256
53a5363ced57406187e52bc64f63108cafafdae1cd87c679adf1025f011fde49

macOS

Disk imagenot published yet
SHA-256not published yet

Notarisation follows company registration.

Linux

AppImagenot published yet
AppImage SHA-256not published yet
debnot published yet
deb SHA-256not published yet

Release notes

Relay tests: two races in the tests turned main CI red in the Postgres group. No relay code changed. - `relay/seat-drop.test.mjs` "the same drop again": both updates now state the same `current_period_end`. Before this change the helper took the period end from the clock at each call, and the signer run sits between the two calls. When a second boundary fell between them, the second update carried a period end one second later, the order recorded it (`periodEnd`, as it must), and the check "only the update stamp can differ" failed. The assertion is unchanged. - `relay/hooks-instances.test.mjs` and `relay/instances.test.mjs`: a port taken and released by the test could be bound by another process before the relay child bound it, and the child exited with `EADDRINUSE`. New `relay/test-fixtures/free-ports.mjs` picks new ports and starts both instances again when that happens (at most five tries). Any other start failure still fails the test. Full notes: CHANGELOG.md [0.2.475].