Hotfix for v1.8.0 — curl|bash one-liner
The headline install command in v1.8.0 was broken at first contact:
$ curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash -s -- --only openclaw
bash: line 39: BASH_SOURCE[0]: unbound variable
error: unknown flag: --
Two regressions — neither caught by CI because both are stdin-pipe-only.
What broke
set -u+${BASH_SOURCE[0]}is fatal under curl|bash. When bash reads from stdin,BASH_SOURCEis unset; the strict-mode shell trapped on the first reference.--separator survivednpx.install.shandinstall.ps1passednpx -y "github:..." -- "$@"and modern npx forwards the literal--to the package, whichparseArgsrejected asunknown flag: --.
What this release fixes
install.shdefaultsBASH_SOURCE[0]to empty so the curl-pipe path falls through cleanly underset -u.install.sh+install.ps1no longer pass--between npx and the package — npm 7+ npx forwards trailing args correctly without it.bin/install.jsparseArgsnow accepts a bare--as a no-op (POSIX end-of-options marker). Future shim drift can't re-break this.- New regression test asserts
--is accepted.
Upgrade
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash -s -- --only openclawIf you tried v1.8.0 and got the error above, just re-run this command. No state was written on the failed install.
What's unchanged from v1.8.0
Everything else — OpenClaw, opencode, the installer fixes, the test bump (now 51 tests). See v1.8.0 release notes for the full feature list.