#7368·hive

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:

  1. Line 96 (and 2317) call clear unconditionally under set -e (line 12). If $TERM is unset in the shell (happens in some IDE terminals, CI, non-interactive shells), clear exits 1 and set -e kills the entire script before any real setup happens — with only TERM environment variable not set. printed, no explanation.
  2. Line 263 runs uv sync > /dev/null 2>&1 and on failure only prints ✗ workspace installation failed — the actual error is discarded. This makes any uv sync failure (network timeout, disk space, etc.) undiagnosable from the script's own output.

Repro

bash
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 clear calls: clear 2>/dev/null || true
  • Capture uv sync's actual output on failure instead of suppressing it, e.g.:
    bash
    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.