Bug Description
forge update fails with a 404 error when attempting to download the new binary. The install script served at https://forgecode.dev/cli (which forge update invokes) still constructs download URLs using the old repository name tailcallhq/forge, but the repo has been renamed to tailcallhq/forgecode. GitHub does not redirect /releases/ URLs for renamed repositories.
Steps to Reproduce
- Have Forge v2.9.3 installed
- Run
forge update
- Confirm upgrade to v2.9.7
Expected Behavior
Binary downloads from https://github.com/tailcallhq/forgecode/releases/... and updates successfully.
Actual Behavior
Downloading Forge from https://github.com/tailcallhq/forge/releases/latest/download/forge-x86_64-unknown-linux-gnu...
curl: (22) The requested URL returned error: 404
curl: (22) The requested URL returned error: 404
Failed to download Forge.
Root Cause
The install script at https://forgecode.dev/cli hardcodes the old repo name in the download URL construction:
DOWNLOAD_URLS="https://github.com/tailcallhq/forge/releases/latest/download/forge-$TARGET$TARGET_EXT"
GitHub does not follow redirects for release asset URLs on renamed repos:
| URL |
HTTP Status |
https://github.com/tailcallhq/forge |
404 (no redirect) |
https://github.com/tailcallhq/forge/releases/latest/download/forge-x86_64-unknown-linux-gnu |
404 |
https://github.com/tailcallhq/forgecode/releases/latest/download/forge-x86_64-unknown-linux-gnu |
302 → download ✅ |
Additionally, the error message in the script still references the old repo:
printf "${BLUE}https://github.com/tailcallhq/forge#installation${NC}\n"
Suggested Fix
Replace all occurrences of tailcallhq/forge with tailcallhq/forgecode in:
- Install script (
https://forgecode.dev/cli) — the DOWNLOAD_URLS variable and the installation instructions URL
update-informer configuration in the Rust binary — the GitHub repo reference used for update checks
Workaround
Manually download and replace the binary:
curl -L -o ~/.local/bin/forge \
"https://github.com/tailcallhq/forgecode/releases/download/v2.9.7/forge-x86_64-unknown-linux-gnu" \
&& chmod +x ~/.local/bin/forge
Environment
- Forge version: 2.9.3
- OS: Linux x86_64 (Ubuntu)
- Install method:
curl -fsSL https://forgecode.dev/cli | sh
Bug Description
forge updatefails with a 404 error when attempting to download the new binary. The install script served athttps://forgecode.dev/cli(whichforge updateinvokes) still constructs download URLs using the old repository nametailcallhq/forge, but the repo has been renamed totailcallhq/forgecode. GitHub does not redirect/releases/URLs for renamed repositories.Steps to Reproduce
forge updateExpected Behavior
Binary downloads from
https://github.com/tailcallhq/forgecode/releases/...and updates successfully.Actual Behavior
Root Cause
The install script at
https://forgecode.dev/clihardcodes the old repo name in the download URL construction:DOWNLOAD_URLS="https://github.com/tailcallhq/forge/releases/latest/download/forge-$TARGET$TARGET_EXT"GitHub does not follow redirects for release asset URLs on renamed repos:
https://github.com/tailcallhq/forgehttps://github.com/tailcallhq/forge/releases/latest/download/forge-x86_64-unknown-linux-gnuhttps://github.com/tailcallhq/forgecode/releases/latest/download/forge-x86_64-unknown-linux-gnuAdditionally, the error message in the script still references the old repo:
Suggested Fix
Replace all occurrences of
tailcallhq/forgewithtailcallhq/forgecodein:https://forgecode.dev/cli) — theDOWNLOAD_URLSvariable and the installation instructions URLupdate-informerconfiguration in the Rust binary — the GitHub repo reference used for update checksWorkaround
Manually download and replace the binary:
Environment
curl -fsSL https://forgecode.dev/cli | sh