From 2900b19b00084bf657b0190c33f630f4b6b793a1 Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Sat, 21 Feb 2026 13:02:44 -0600 Subject: [PATCH] fix: redirect stdin from /dev/tty for curl|sh installs When running via `curl URL | sh`, stdin is the curl pipe, not the terminal. Interactive prompts (wizard or legacy install.sh) need a real TTY. Redirect stdin from /dev/tty when available, fall back to --non-interactive mode when no TTY exists (CI/Docker). Co-Authored-By: Claude Opus 4.6 --- remote-install.sh | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/remote-install.sh b/remote-install.sh index 933e6aa..114be02 100755 --- a/remote-install.sh +++ b/remote-install.sh @@ -44,15 +44,20 @@ WIZARD_BIN="$WORK_DIR/bootstrap/dist/mosaic-wizard.mjs" if command -v node >/dev/null 2>&1 && [ -f "$WIZARD_BIN" ]; then NODE_MAJOR="$(node -e 'console.log(process.versions.node.split(".")[0])')" if [ "$NODE_MAJOR" -ge 18 ] 2>/dev/null; then - echo "[mosaic] Running wizard installer (Node.js $NODE_MAJOR detected)..." - node "$WIZARD_BIN" --source-dir "$WORK_DIR/bootstrap" + if [ -e /dev/tty ]; then + echo "[mosaic] Running wizard installer (Node.js $NODE_MAJOR detected)..." + node "$WIZARD_BIN" --source-dir "$WORK_DIR/bootstrap"