← Back to PRs

#14666: fix(macos): align minimum Node.js version with runtime guard (22.12.0)

by sumleo open 2026-02-12 13:21 View on GitHub →
app: macos stale size: XL
## Summary - macOS `RuntimeLocator.swift` uses `minNode = RuntimeVersion(major: 22, minor: 0, patch: 0)` while the actual minimum enforced by `runtime-guard.ts` and `package.json` engines field is `>=22.12.0`. - Error messages also reference `>=22.0.0` instead of `>=22.12.0`. - Users with Node 22.0.0–22.11.x see the macOS message, believe they have a compatible version, then encounter a different failure from the runtime guard. ## Fix - Update `minNode` to `RuntimeVersion(major: 22, minor: 12, patch: 0)` - Update error messages from `>=22.0.0` to `>=22.12.0` ## Test plan - [ ] Verify macOS app correctly rejects Node versions below 22.12.0 - [ ] Verify macOS app accepts Node 22.12.0 and above - [ ] Verify error messages display the correct minimum version <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> This PR updates the macOS runtime locator to require Node.js `>=22.12.0` (instead of `>=22.0.0`) and adjusts the user-facing error strings to match. The change makes the macOS app’s preflight check consistent with the repository’s runtime guard / engines constraints, preventing users on Node `22.0.0–22.11.x` from getting a misleading “supported” message before failing later. <h3>Confidence Score: 5/5</h3> - This PR is safe to merge with minimal risk. - The change is a straightforward constant and string update in a single macOS Swift file, and it makes the minimum Node version check consistent with the repository’s enforced runtime requirements. No behavioral changes beyond earlier rejection + corrected messaging are introduced. - apps/macos/Sources/OpenClaw/RuntimeLocator.swift <!-- greptile_other_comments_section --> <!-- /greptile_comment -->

Most Similar PRs