Skip to content

Windows

ohemilyy edited this page Oct 10, 2026 · 3 revisions

Flavor runs on Windows 11, on x64 and ARM64. Windows 10 should work but has not been tested. You get the same daemon (flavord), CLI (flavorctl) and desktop app as on Linux, with one exception: system-wide names need the Linux-only flavor-netd helper. To reach services without it, use port forwarding or the SOCKS5 proxy.

Note

The Windows builds are not code-signed yet, so Microsoft Defender SmartScreen may warn about the installer. Running an unsigned installer shows how to continue.

Install

Each release has an installer per architecture: windows-amd64-setup.exe for x64 and windows-arm64-setup.exe for ARM64. Run $env:PROCESSOR_ARCHITECTURE in PowerShell if you're unsure: AMD64 means x64.

Check the download before you run it. In PowerShell, in the folder you downloaded to:

$v = "0.1.0-beta.7"
$base = "https://github.com/tame-gg/Flavor/releases/download/v$v"
Invoke-WebRequest "$base/flavor-$v-windows-amd64-setup.exe" -OutFile "flavor-$v-windows-amd64-setup.exe"
Invoke-WebRequest "$base/SHA256SUMS" -OutFile SHA256SUMS
(Get-FileHash "flavor-$v-windows-amd64-setup.exe").Hash.ToLower()
Select-String "windows-amd64-setup.exe" SHA256SUMS

The two hashes must match. To check the signature on SHA256SUMS too, follow Verify the download; gh attestation verify works on Windows as well.

Run the installer. It installs for your user only and doesn't ask for administrator rights. It:

  • installs Flavor.exe, flavord.exe and flavorctl.exe into %LOCALAPPDATA%\Flavor
  • adds Flavor to the Start menu
  • starts flavord now and at every sign-in, through the Flavor daemon entry in HKCU\Software\Microsoft\Windows\CurrentVersion\Run

Then open Flavor from the Start menu and continue with Getting started.

The installer doesn't add flavorctl to your PATH. Run it with the full path, or add %LOCALAPPDATA%\Flavor to your user PATH:

& "$env:LOCALAPPDATA\Flavor\flavorctl.exe" info

Install with Scoop

scoop bucket add tame-gg https://github.com/tame-gg/scoop-bucket
scoop install tame-gg/flavor

Scoop installs the zip into ~\scoop\apps\flavor, puts flavord and flavorctl on your PATH and adds Flavor to the Start menu under Scoop Apps. It doesn't start flavord at sign-in: run flavord yourself, or use the installer instead. Stop flavord with Stop-Process -Name flavord before scoop update flavor or scoop uninstall flavor.

Running an unsigned installer

If SmartScreen shows Windows protected your PC, click More info, check that the file name is the one you verified, then click Run anyway. Only do this for a download whose checksum you checked.

Install from the zip

Each release also has a zip per architecture, windows-amd64.zip and windows-arm64.zip, for running Flavor without the installer. It contains:

  • bin\flavord.exe and bin\flavorctl.exe
  • Flavor.exe, the desktop app

Extract it anywhere your user can write to, start bin\flavord.exe, then open Flavor.exe. The zip doesn't start flavord at sign-in; add a shortcut to bin\flavord.exe in shell:startup if you want that. Don't use the zip and the installer at the same time.

Where Flavor keeps its files

What Where
Programs %LOCALAPPDATA%\Flavor
Database, network identities, desktop settings %LOCALAPPDATA%\flavor
Daemon lock %LOCALAPPDATA%\flavor\flavord.lock
Daemon log %LOCALAPPDATA%\flavor\flavord.log
Daemon connection a named pipe, \\.\pipe\flavor- followed by a hash of the data folder
Start at sign-in Flavor daemon in HKCU\Software\Microsoft\Windows\CurrentVersion\Run

Windows folder names aren't case-sensitive, so the programs and your data share one folder. If XDG_DATA_HOME, XDG_CONFIG_HOME or XDG_RUNTIME_DIR are set, Flavor uses them instead, as on Linux.

Warning

Deleting %LOCALAPPDATA%\flavor deletes this PC's identity on every network. The machines stay registered on their control servers until an administrator removes them.

Running the daemon

flavord runs in the background without a window. It writes its log to %LOCALAPPDATA%\flavor\flavord.log. If you start it from a terminal instead, it logs to that terminal.

Get-Process flavord
Stop-Process -Name flavord
Start-Process "$env:LOCALAPPDATA\Flavor\flavord.exe"
Get-Content "$env:LOCALAPPDATA\flavor\flavord.log" -Tail 20 -Wait

These are, in order: status, stop, start, and follow the log. To restart, stop it and start it again.

Upgrade

Download and run the new installer. It stops flavord, replaces the programs and starts the new flavord. Your networks and device identities are kept. When you upgrade from v0.1.0-beta.6, the installer can't uninstall the old version first and says so; choose to install without uninstalling and continue.

Uninstall

Open Settings › Apps › Installed apps, choose Flavor, then Uninstall. This stops flavord, removes the programs and the sign-in entry, and keeps your data. To delete your data as well, remove %LOCALAPPDATA%\flavor afterwards. Read the warning in Where Flavor keeps its files first.

What works differently from Linux

  • System-wide names (flavor-netd, *.flavor.internal in every app) are Linux-only. Port forwarding, the SOCKS5 proxy, the Connection Inspector and everything else work the same.
  • Secrets: flavorctl diag shows Windows Credential Manager as the secret store (backend wincred).
  • The daemon connection is a named pipe instead of a Unix socket. Only your user account can open it, and the app and flavorctl check that the daemon on the other end runs as you.
  • The tray icon is in the notification area. With close-to-tray, closing the window keeps Flavor running there.

Tested environments

Environment What was tested Version
GitHub Actions windows-2025 (x64) and windows-11-arm (ARM64) Go and Rust test suites every commit
GitHub Actions windows-2025 and windows-11-arm silent install, flavord start, flavorctl info and diag with Windows Credential Manager, upgrade, uninstall every release build
Windows 11 virtual machine, x64, standard user account install, start at sign-in, the desktop app, adding a Tailscale network and opening its sign-in page, the tray icon, Credential Manager, upgrade and uninstall before v0.1.0-beta.6

ARM64 has not been tested by hand yet. Reports are welcome in issues.

Clone this wiki locally