quickstart.sh crashes on unset $TERM, and hides the real error on workspace install failure
Author: NT1906Created Aug 15, 2026Updated Sep 9, 2026
Description
Two related bugs in quickstart.sh:
- Line 96 (and 2317) call
clearunconditionally underset -e(line 12). If$TERMis unset in the shell (happens in some IDE terminals, CI, non-interactive shells),clearexits 1 andset -ekills the entire script before any real setup happens — with onlyTERM environment variable not set.printed, no explanation. - Line 263 runs
uv sync > /dev/null 2>&1and on failure only prints✗ workspace installation failed— the actual error is discarded. This makes anyuv syncfailure (network timeout, disk space, etc.) undiagnosable from the script's own output.
Repro
env -u TERM ./quickstart.sh→ immediate exit after the [debug] Bash version line, no further explanation.
Separately, any uv sync failure (e.g. slow network fetching the pinned Python 3.11 build) surfaces zero useful detail — just ✗ workspace installation failed.
Proposed fix
- Guard the
clearcalls:clear 2>/dev/null || true - Capture
uv sync's actual output on failure instead of suppressing it, e.g.:if UV_SYNC_OUTPUT=$(uv sync 2>&1); then ... else echo "$UV_SYNC_OUTPUT" exit 1 fi
I have a working patch for both ready to submit as a PR once this is assigned.
Source: aden-hive/hive