Skip to main content
The floe CLI is a single self-contained binary with no runtime dependencies.
Want a desktop app instead of a terminal tool? Floe Desktop for Windows runs on the same transfer engine as the CLI, so the two interoperate. See Install Floe Desktop. Floe Desktop is Windows only; on macOS and Linux, use this CLI or the web app.

Package managers

The fastest way to install floe. Package manager installs also get updates via the standard upgrade command for that tool.
Terminal
Update: brew upgrade floeFirst run: if macOS blocks the binary (Gatekeeper), right-click the floe binary in Finder and choose Open, or run xattr -dr com.apple.quarantine $(which floe).

One-line installer

Works on macOS, Linux, and Windows without a package manager. Re-running the script upgrades an existing install in place.
Terminal
To install a specific version, using any tag from the releases page:
Terminal
The script detects your OS and architecture, downloads the correct archive, verifies the SHA-256 checksum, and installs floe to /usr/local/bin (or ~/.local/bin when /usr/local/bin is not writable and sudo is unavailable).

Go install

If you have Go 1.25 or later installed:
Terminal
Go writes the binary to $(go env GOPATH)/bin (or $(go env GOBIN)), which is not on your PATH on a default Go setup. Add that directory to your PATH before running floe. The package managers and the install script above handle this for you.
go install does not give you a release build. cli is a nested Go module and the repository carries no cli/vX.Y.Z tags, so @latest resolves to the current tip of main as a pseudo-version rather than to the newest release. The version string is stamped in at release time, so a binary built this way reports floe dev, and floe update refuses to run with “Cannot update a dev build.” Use a package manager or the install script if you want a released build with working self-update.

Verify the install

Terminal
Expected output:
Output
If you pinned an older version, a third line appears once the update check completes:
Output
Set FLOE_NO_UPDATE_CHECK=1 to silence it. See floe version for what that check does. A binary from go install or built from source prints floe dev instead of a version number.

Verify the checksum (manual download)

If you downloaded an archive directly from the GitHub Releases page, each release includes a checksums.txt file. To verify:
Terminal

Update

For package manager installs, use the standard upgrade command (brew upgrade floe, winget upgrade jannskiee.floe, scoop update floe). For script or manual installs, run:
Terminal
See Updating floe for details.

Build from source

Requires Go 1.25 or later.
Terminal
Move the resulting floe binary to a directory on your PATH. On macOS and Linux, /usr/local/bin is the usual choice, but it is root-owned on a stock system, so the move needs elevation: sudo mv floe /usr/local/bin/. A user-owned directory such as ~/.local/bin works without sudo, as long as it is on your PATH. Like a go install build, a binary compiled this way reports floe dev and cannot update itself.