Skip to content

Install

geslar requires a Premium, Family, Business, or Enterprise plan (read/run/inject are gated — see Known limitations).

npm (Windows, macOS, Linux)

sh
npm install -g @geslar/cli

Node.js 20 or later is required. This is currently the only install path for macOS — a standalone macOS binary is planned once Apple notarization is set up.

Verify:

sh
geslar --version

Standalone binary (Windows x64, Linux x64)

No Node.js install required. Download the binary for your platform, verify its checksum, then place it on your PATH.

Two ways to get it:

  • Pin a version (recommended for anything reproducible — CI, provisioning scripts): downloads.geslar.app/cli/v0.3.2/geslar-0.3.2-win-x64.exe / geslar-0.3.2-linux-x64, with a matching geslar-0.3.2-win-x64.exe.sha256 / geslar-0.3.2-linux-x64.sha256.
  • Always get the current release (manual installs, quick scripted setup): downloads.geslar.app/cli/latest/geslar-win-x64.exe / geslar-linux-x64 — same binary as the current versioned release, just an unversioned filename that moves forward on each release.
  1. Download the binary for your platform and its matching .sha256 file (pick versioned or latest/ per above).

  2. Verify the checksum:

    sh
    # Linux
    curl -fsSLO https://downloads.geslar.app/cli/latest/geslar-linux-x64
    curl -fsSLO https://downloads.geslar.app/cli/latest/geslar-linux-x64.sha256
    sha256sum -c geslar-linux-x64.sha256
    
    # Windows (PowerShell)
    Invoke-WebRequest https://downloads.geslar.app/cli/latest/geslar-win-x64.exe -OutFile geslar-win-x64.exe
    Get-FileHash geslar-win-x64.exe -Algorithm SHA256
    # compare the output against the .sha256 file's hash
  3. Linux: chmod +x geslar-linux-x64 (or geslar-0.3.2-linux-x64) and move it onto your PATH (e.g. /usr/local/bin/geslar).

  4. Windows: rename to geslar.exe and place it on your PATH.

The Windows binary is currently unsigned (no Authenticode code-signing certificate yet) — Windows SmartScreen may warn on first run. The SHA-256 checksum is the verification path until that's set up; see Known limitations.

Alpine / musl-libc / busybox: neither install path works out of the box today

Verified directly, not assumed:

  • npm install -g @geslar/cli on Alpine installs fine, but running geslar fails immediately (env: unrecognized option: S) — the CLI's shebang line relies on GNU coreutils' env -S flag to work around a Node.js --env-file argv collision (see the CLI's own src/index.ts for the full explanation), and busybox's env doesn't implement -S.
  • The standalone geslar-linux-x64 binary is built on glibc (standard for Ubuntu/Debian/RHEL/Amazon Linux/etc.) and does not run on Alpine's musl libc (Error relocating ...: symbol not found, even with the gcompat compatibility package installed — it isn't a complete glibc shim).

Until there's a musl-native build, run geslar from a non-Alpine base (e.g. node:20-slim/node:20-bookworm) if your workflow is containerized. Tracked as a known limitation, not silently glossed over — see Known limitations.

Uninstall

sh
npm uninstall -g @geslar/cli
# or just delete the standalone binary