Installation Issues
Fixes for problems you hit while downloading, verifying, or running the frg binary for the first time. For installation steps, see the Installation Guide.
Download and verify
'gh release download' shows a rate-limit warning
Cause
The release repository telerik/forge is public, so downloads work without authentication. Unauthenticated GitHub API requests have a low rate limit, and GitHub CLI warns or asks you to log in when you reach it.
Solution
- Log in to GitHub CLI:
gh auth login
- Download the release asset again:
gh release download v<version> --repo telerik/forge --pattern 'frg-<version>-x86_64-linux*'
Verify
gh auth status
Checksum or GPG verification fails
Cause
The file is incomplete or was changed after download, or you are checking it against the wrong release. Each release publishes SHA256SUMS, SHA256SUMS.asc, a .asc signature per asset, and public-key.asc.
Solution
- Download the asset, the checksum file, and the public key from the same release:
gh release download v<version> --repo telerik/forge \
--pattern 'frg-<version>-x86_64-linux*' --pattern 'SHA256SUMS*' --pattern 'public-key.asc'
- Check the checksum:
# Linux
sha256sum --check --ignore-missing SHA256SUMS
# macOS
shasum -a 256 --check --ignore-missing SHA256SUMS
- Check the GPG signature:
gpg --import public-key.asc
gpg --verify frg-<version>-x86_64-linux.asc frg-<version>-x86_64-linux
- If either check still fails, delete the files and download them again.
Verify
The checksum command prints OK for the asset, and gpg --verify reports a good signature.
PATH and permissions
frg: command not found
On Windows the message is 'frg' is not recognized as an internal or external command, or The term 'frg' is not recognized in PowerShell.
Cause
The binary is not installed, or its directory is not on PATH.
Solution
- Find the binary:
# Linux/macOS
command -v frg || ls -l /usr/local/bin/frg ~/.local/bin/frg- Add its directory to
PATH. For example, on Linux or macOS with the binary in~/.local/bin:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc # or ~/.zshrc
source ~/.bashrc
- On Windows, add the directory to your user
PATHand open a new terminal:
$dir = "$env:LOCALAPPDATA\Programs\frg"
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
if ($userPath -notlike "*$dir*") {
[Environment]::SetEnvironmentVariable("Path", "$userPath;$dir", "User")
}
Verify
frg --version
'Permission denied' when running frg
Cause
The downloaded binary is not executable, or an earlier sudo frg … run created root-owned files in .forge/.
Solution
- Make the binary executable:
chmod +x /usr/local/bin/frg
- If the error names a path under
.forge/, check who owns it:
ls -la .forge/
- If the files belong to
root, take ownership back and stop running Forge withsudo:
sudo chown -R "$USER" .forge/
Verify
frg status
Linux
Binary fails with a 'GLIBC' version not found error
./frg: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.39' not found
Cause
The standard Linux binaries need a recent glibc. Enterprise Linux 8 distributions (Rocky Linux, RHEL, AlmaLinux 8.x) ship glibc 2.28.
Solution
- Check your glibc version:
ldd --version | head -n 1
- If glibc is 2.28 or newer, use the legacy build.
Legacy assets (frg-<version>-x86_64-linux-legacy, frg-<version>-aarch64-linux-legacy, and *.el8.*.rpm) are published with every release, and the installer picks the right variant automatically:
gh release download --repo telerik/forge --pattern 'install.sh'
sh install.sh
- If glibc is older than 2.28, no pre-built binary works. Contact your Progress representative.
Verify
frg --version
Installer stops on Alpine or when glibc cannot be detected
The installer checks glibc before it downloads anything and stops with one of these messages:
frg pre-built Linux binaries require glibc 2.28 or newer.
Unsupported glibc version: <version>
Cause
All Forge Linux binaries link against glibc. They do not run on musl-based distributions such as Alpine, or on hosts older than glibc 2.28.
Solution
- Use a glibc-based host or container image, such as Debian, Ubuntu, Fedora, or Rocky Linux 8 or newer.
- Run the installer again on that host.
Verify
ldd --version | head -n 1
frg --version
macOS
"frg" cannot be opened because the developer cannot be verified
Cause
Release binaries for macOS are signed with an Apple Developer ID and notarized. Gatekeeper can still block a file that was changed after download, that did not come from an official release, or that has a quarantine flag it cannot validate offline.
Solution
- Check that the file matches the release checksum. See Checksum or GPG verification fails.
- Remove the quarantine attribute:
xattr -d com.apple.quarantine /usr/local/bin/frg
- Alternatively, Control-click the file in Finder, choose Open, and confirm.
Verify
frg --version
Windows
SmartScreen, AppLocker, or WDAC blocks frg.exe
Typical messages:
Windows protected your PC
This app has been blocked by your system administrator.
Access is denied.
Cause
Windows release binaries are Authenticode-signed with a Progress certificate. A block usually comes from the downloaded-file mark (Mark of the Web) or from an organization policy such as AppLocker or Windows Defender Application Control (WDAC). PowerShell execution policy and Constrained Language Mode affect .ps1 scripts only, not frg.exe.
Solution
- Check the signature:
Get-AuthenticodeSignature "C:\Program Files\Forge\frg.exe" | Format-List Status, SignerCertificate
Status must be Valid. If it is NotSigned, the file is not an official release asset. Download it again.
2. Remove the downloaded-file mark:
Unblock-File -Path "C:\Program Files\Forge\frg.exe"
- If an AppLocker or WDAC policy blocks the file, ask your administrator to allow it by publisher or by hash. Give them the hash:
Get-FileHash "C:\Program Files\Forge\frg.exe" -Algorithm SHA256
- To check which policies apply, run
gpresult /R.
Verify
& "C:\Program Files\Forge\frg.exe" --version
Windows Server-specific issues
For supported Windows Server versions, see the platform support section of the Installation Guide.
frg is not recognized in PowerShell
frg : The term 'frg' is not recognized as the name of a cmdlet, function, script file, or operable program.
Cause
The install directory is not on the PATH of this session. This is common in remote PowerShell sessions, scheduled tasks, and services, which read PATH when they start.
Solution
- Call the binary with its extension or full path:
frg.exe --version
& "C:\Program Files\Forge\frg.exe" --version
- Add the directory to the machine
PATH(run as Administrator):
$dir = "C:\Program Files\Forge"
$machinePath = [Environment]::GetEnvironmentVariable("Path", "Machine")
if ($machinePath -notlike "*$dir*") {
[Environment]::SetEnvironmentVariable("Path", "$machinePath;$dir", "Machine")
}
- Reload
PATHin the current session:
$env:PATH = [Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [Environment]::GetEnvironmentVariable("Path", "User")
- Restart any service or scheduled task that runs Forge, or use the full path in its configuration.
Verify
Get-Command frg.exe