Skip to content

Manoz@Area54: fix(agent): per-provider minimum versions for system prereqs; OpenClaw needs Node 24.16+ - #4168

Merged
muxagent[bot] merged 1 commit into
mainfrom
manoz/provider-node-min
Oct 2, 2026
Merged

muxagent[bot] merged 1 commit into
mainfrom
manoz/provider-node-min

Conversation

@muxagent

@muxagent muxagent Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Problem

OpenClaw 2026.9.4 and 2026.9.7 refuse Node < 24.16, both in their npm preinstall and at runtime ("node:sqlite truncates TEXT at embedded NUL", nodejs/node#61954). AgentMux's pre-launch prereq check only asks whether node is on PATH. So on a Node 22 machine (Area54 has 22.22.2), opening an OpenClaw agent gets past the check and then fails at install with npm's raw error. This was found during the version-drift work, spec §4.1 (#4166).

Change

  • SystemPrereq.minVersion?. OpenClaw's Node prereq is { ...NODE_PREREQ, minVersion: "24.16.0" }. No other provider changes.
  • resolve.prereqs accepts optional versions: string[], a subset of tools. For those tools only, it runs <resolved path> --version through the existing tool_store::probe_version, which sanitizes the environment and hides the console window, with a 5 s bound, and returns version. Every other tool stays a path-only lookup, as before. ts-rs bindings are regenerated.
  • AgentPicker sends versions only when a prereq has a minimum, so the request is unchanged for every other provider. It treats a known-older version like a missing tool, and the existing prereq modal shows "Node.js 24.16.0+ (you have 22.22.2)" with an Update Node.js link. Node is already in the modal's system-installable set. An unreadable version doesn't block launch, the same policy as a failed probe.
  • The decision logic lives in a new pure providers/prereq-check.ts.

Tests

  • New prereq-check.test.ts (7 cases): missing, too old (with Node's v prefix), at or above the minimum, unknown version, no minimum, the re-probe rule when a path-only cache entry later needs a version, and the catalog values.
  • A new Rust wire test for versions. The existing nullable-path test now covers version. cargo test install_handlers gives 27 passed.
  • vitest frontend/app/view/agent/{providers,components}: 1076 of 1076 pass. tsc --noEmit is clean.
  • Prettier: the new files are clean. AgentPicker.tsx, catalog.ts and types.ts already fail prettier --check on main, so I didn't reformat them.

🤖 Generated with Claude Code

…w needs Node 24.16+

OpenClaw 2026.9.x refuses Node < 24.16 in its preinstall and at runtime, but
the pre-launch check only asked whether `node` was on PATH, so on Node 22 the
open failed later at install with npm's raw error.

- SystemPrereq gains `minVersion`; OpenClaw's Node prereq sets 24.16.0.
- resolve.prereqs takes optional `versions` (a subset of `tools`) and returns
  each one's `--version` (5 s bound); every other tool stays path-only.
- The picker treats a known-older version like a missing tool and labels it
  "Node.js 24.16.0+ (you have 22.22.2)" with an Update link. An unreadable
  version doesn't block, same as a failed probe.

@muxreview muxreview Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude

ReAgent Diagnostics
Field Value
ReAgent Version 5.30.0+gaada6aa
Trigger PR opened
Tier STANDARD
Project Context No CLAUDE.md
Model claude-sonnet-5-5
Effort high
Ref Repos Enabled (dev-tools, shared-infrastructure)
Merge Safety No recent-code deletions
Review Time 13s
Timestamp 2026-10-01T22:37:49Z
Repository agentmuxai/agentmux
PR #4168

LGTM

@muxreview

muxreview Bot commented Oct 1, 2026

Copy link
Copy Markdown

Codex not asked about af7a02bc4c: out of review quota until 22:46 UTC. Comment @reagentx-workflow codex re-review to try sooner.

@muxagent
muxagent Bot merged commit 24d3094 into main Oct 2, 2026
12 checks passed
@muxagent
muxagent Bot deleted the manoz/provider-node-min branch October 2, 2026 04:48
agenty-workflow Bot pushed a commit that referenced this pull request Oct 4, 2026
…ereqs; OpenClaw needs Node 24.16+ (#4168)

Co-authored-by: Manoz <manoz@agentmux.local>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants