openclaw - ✅(Solved) Fix [Bug]: Node.js auto-installer fails silently with ioctl errors then falsely reports success before crashing [1 pull requests, 1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#73837Fetched 2026-04-29 06:14:22
View on GitHub
Comments
1
Participants
2
Timeline
5
Reactions
0
Timeline (top)
cross-referenced ×2labeled ×2commented ×1

When running ./install.sh manually on WSL2 Ubuntu 24.04 (because of this previously stated Issue#73814 the Node.js auto-installation step fails silently with ioctl errors, falsely reports ✓ Node.js v22 installed, then immediately crashes with ERROR Node.js v22+ is required. The installer never actually installed Node.js, but did not detect or report the failure before continuing.

Error Message

When running ./install.sh manually on WSL2 Ubuntu 24.04 (because of this previously stated Issue#73814 the Node.js auto-installation step fails silently with ioctl errors, falsely reports ✓ Node.js v22 installed, then immediately crashes with ERROR Node.js v22+ is required. The installer never actually installed Node.js, but did not detect or report the failure before continuing. Either, Node.js installs successfully and the installer continues, or the installer detects the installation failure and exits with an accurate error ERROR Node.js v22+ is required ERROR Node.js v22+ is required but could not be activated on PATH

Root Cause

When running ./install.sh manually on WSL2 Ubuntu 24.04 (because of this previously stated Issue#73814 the Node.js auto-installation step fails silently with ioctl errors, falsely reports ✓ Node.js v22 installed, then immediately crashes with ERROR Node.js v22+ is required. The installer never actually installed Node.js, but did not detect or report the failure before continuing.

Fix Action

Fixed

PR fix notes

PR #73855: ci: add workflow to detect hosted installer drift

Description (problem / solution / changelog)

Adds a scheduled and PR-triggered workflow that compares the SHA256 checksum of scripts/install.sh against the live hosted installer at https://openclaw.ai/install.sh.

What this does:

  • Runs daily at 06:17 UTC to catch drift early
  • Runs on any PR that modifies scripts/install.sh
  • Fails with a clear error if the hosted installer is out of sync

Why this fixes #73837: Issue #73837 reported that the hosted installer is stale (v22-era) compared to the hardened source. This CI check prevents future silent drift by failing loudly when the two diverge.

Closes #73837

Changed files

  • .github/workflows/check-hosted-installer-sync.yml (added, +72/-0)

Code Example

Then just allow the installer to reach the Node.js  step and proceed WITHOUT already pre-installing Node.js(you're wanting to see if it succeeds in auto installation).

### Expected behavior

Either, Node.js installs successfully and the installer continues, or the installer detects the installation failure and exits with an accurate error

### Actual behavior

The installer runs apt to install Node.js, which fails with ioctl errors (likely due to apt attempting interactive terminal behavior in a context that doesn't support it). Despite this, the installer prints:
Node.js v22 installed
It then continues and hits its own Node.js version check, which correctly detects Node is absent and crashes:
ERROR Node.js v22+ is required

### OpenClaw version

OpenClaw 2026.4.26

### Operating system

Ubuntu 24.04 LTS

### Install method

curl?

### Model

NA

### Provider / routing chain

NA

### Additional provider/model setup details

The apt invocation in the installer is likely missing DEBIAN_FRONTEND=noninteractive, so it presumably attempts interactive prompts that fail in WSL2's terminal context and with ioctl errors. 
The installer's  verification step done post-hoc does not really confirm that the Node.js binary is present and functional before reporting success; ergo, it presumably checks the apt exit code, which may not correctly reflect the failure. (i think)

### Logs, screenshots, and evidence
RAW_BUFFERClick to expand / collapse

Bug type

Crash (process/app exits or hangs)

Beta release blocker

No

Summary

When running ./install.sh manually on WSL2 Ubuntu 24.04 (because of this previously stated Issue#73814 the Node.js auto-installation step fails silently with ioctl errors, falsely reports ✓ Node.js v22 installed, then immediately crashes with ERROR Node.js v22+ is required. The installer never actually installed Node.js, but did not detect or report the failure before continuing.

Steps to reproduce

On WSL2 Ubuntu 24.04.1 LTS (or adjacent), download the installer manually:

curl -fsSL https://openclaw.ai/install.sh -o install.sh
chmod +x install.sh
./install.sh

Then just allow the installer to reach the Node.js step and proceed WITHOUT already pre-installing Node.js(you're wanting to see if it succeeds in auto installation).

Expected behavior

Either, Node.js installs successfully and the installer continues, or the installer detects the installation failure and exits with an accurate error

Actual behavior

The installer runs apt to install Node.js, which fails with ioctl errors (likely due to apt attempting interactive terminal behavior in a context that doesn't support it). Despite this, the installer prints: ✓ Node.js v22 installed It then continues and hits its own Node.js version check, which correctly detects Node is absent and crashes: ERROR Node.js v22+ is required

OpenClaw version

OpenClaw 2026.4.26

Operating system

Ubuntu 24.04 LTS

Install method

curl?

Model

NA

Provider / routing chain

NA

Additional provider/model setup details

The apt invocation in the installer is likely missing DEBIAN_FRONTEND=noninteractive, so it presumably attempts interactive prompts that fail in WSL2's terminal context and with ioctl errors. The installer's verification step done post-hoc does not really confirm that the Node.js binary is present and functional before reporting success; ergo, it presumably checks the apt exit code, which may not correctly reflect the failure. (i think)

Logs, screenshots, and evidence

bash

[andreu@Johnny: ~] curl -fsSL https://openclaw.ai/install.sh -o install.sh

[andreu@Johnny: ~] chmod +x install.sh

[andreu@Johnny: ~] ./install.sh

╭─────────────────────────────────────────────────────────────────────────────╮

│                                                                             │

│  🦞 OpenClaw Installer                                                      │

│  I keep secrets like a vault... unless you print them in debug logs again.  │

│  modern installer mode                                                      │

│                                                                             │

╰─────────────────────────────────────────────────────────────────────────────╯



✓ gum bootstrapped (temp, verified, v0.17.0)

✓ Detected: linux



Install plan



OS                  linux

Install method      npm

Requested version   latest

INFO Existing OpenClaw installation detected, upgrading



[1/3] Preparing environment



INFO Node.js not found, installing it now

INFO Installing Node.js via NodeSource

INFO Administrator privileges required; enter your password

-------------Removed the Password Prompt Here Just Cause it made me uncomftorable---

INFO Installing Linux build tools (make/g++/cmake/python3)

inappropriate ioctl for device

inappropriate ioctl for device

✓ Build tools installed

inappropriate ioctl for device

inappropriate ioctl for device

✓ Node.js v22 installed

ERROR Node.js v22+ is required but could not be activated on PATH

Detected node: (not found)

Current version: unknown

Install Node.js 22+ manually: https://nodejs.org

[andreu@Johnny: ~]

Impact and severity

Affected: Users during installation of install.sh Severity: annoying, but could block workflow for less linux profficient users Frequency: Not sure consequence: Failed installation via install.sh

Additional information

Pre-install Node.js v22 manually via NodeSource before running the installer: bashcurl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt-get install -y nodejs node -v ./install.sh

extent analysis

TL;DR

The installer's Node.js installation step fails due to interactive apt prompts in a non-interactive context, but the installer incorrectly reports success and later crashes due to the missing Node.js installation.

Guidance

  • The issue is likely caused by the apt invocation in the installer missing the DEBIAN_FRONTEND=noninteractive environment variable, which causes apt to attempt interactive prompts that fail in WSL2's terminal context.
  • To verify the issue, check the installer's logs for inappropriate ioctl for device errors, which indicate the interactive prompt failure.
  • To mitigate the issue, pre-install Node.js v22 manually via NodeSource before running the installer, as described in the "Additional information" section.
  • The installer's verification step should be modified to check for the presence and functionality of the Node.js binary, rather than relying solely on the apt exit code.

Example

No code snippet is provided, as the issue is related to the installer script and its interaction with the system, rather than a specific code snippet.

Notes

The issue is specific to WSL2 Ubuntu 24.04 and may not affect other environments. The provided workaround of pre-installing Node.js manually may not be suitable for all users, and a more robust solution would be to modify the installer to handle non-interactive contexts correctly.

Recommendation

Apply the workaround of pre-installing Node.js v22 manually via NodeSource before running the installer, as this is a reliable and straightforward solution to the issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Either, Node.js installs successfully and the installer continues, or the installer detects the installation failure and exits with an accurate error

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix [Bug]: Node.js auto-installer fails silently with ioctl errors then falsely reports success before crashing [1 pull requests, 1 comments, 2 participants]