Repository navigation
On Windows arm64 os.machine() returns unknown #62232
Copy link
Copy link
Closed
Labels
libuvIssues and PRs related to the libuv dependency or the uv binding.Issues and PRs related to the libuv dependency or the uv binding.
Description
Activity
I wrote a quick powershell script to query various windows apis. Here's the json output:
{ "node": { "platform": "win32", "arch": "arm64", "machine": "unknown", "release": "10.0.26200", "version": "Windows 11 Pro", "cpuModel": "Microsoft SQ3", "cpuCount": 8 }, "nativeApis": { "getSystemInfo": { "wProcessorArchitecture": 12, "processorArchitecture": "ARM64", "wReserved": 0, "dwPageSize": 4096, "lpMinimumApplicationAddress": "0x10000", "lpMaximumApplicationAddress": "0x7FFFFFFEFFFF", "dwActiveProcessorMask": "0xFF", "dwNumberOfProcessors": 8, "dwProcessorType": 0, "dwAllocationGranularity": 65536, "wProcessorLevel": 3403, "wProcessorRevision": 0 }, "getNativeSystemInfo": { "wProcessorArchitecture": 12, "processorArchitecture": "ARM64", "wReserved": 0, "dwPageSize": 4096, "dwNumberOfProcessors": 8, "dwProcessorType": 0, "dwAllocationGranularity": 65536, "wProcessorLevel": 3403, "wProcessorRevision": 0 }, "isWow64Process2": { "available": true, "processMachineCode": 0, "processMachine": "native", "nativeMachineCode": 43620, "nativeMachine": "ARM64" }, "rtlGetVersion": { "ntstatus": 0, "major": 10, "minor": 0, "build": 26200, "platformId": 2, "servicePack": "", "servicePackMajor": 0, "servicePackMinor": 0 }, "getVersionExW": { "success": true, "lastError": 203, "major": 10, "minor": 0, "build": 26200, "platformId": 2, "servicePack": "", "servicePackMajor": 0, "servicePackMinor": 0 }, "environment": { "PROCESSOR_ARCHITECTURE": "ARM64", "PROCESSOR_IDENTIFIER": "ARMv8 (64-bit) Family 8 Model D4B Revision 0, Qualcomm Technologies Inc" } } }Submitted a fix for this in PR #62235. The issue was that Windows ARM64 detection was falling back to 'unknown' in libuv. The fix uses Windows API GetSystemInfo() to properly detect ARM64 when os.machine() would otherwise return 'unknown'.
Reacted by Christopher Addison- added a commit that references this issue
on Mar 12, 2026 This is addressed by #61829.
Reacted by Juan José- linked a pull request that will close this issuedeps: update libuv to 1.52.1 #61829
on Mar 12, 2026 - addedlibuvIssues and PRs related to the libuv dependency or the uv binding.Issues and PRs related to the libuv dependency or the uv binding.
on Mar 12, 2026 chaiphetwongchaiyatham0-ohmk commented
on Mar 21, 2026 on Mar 21, 2026 · Hidden as off-topicshow commentMore actions
Metadata
Metadata
Assignees
Labels
libuvIssues and PRs related to the libuv dependency or the uv binding.Issues and PRs related to the libuv dependency or the uv binding.
Version
24.14.0
Platform
Subsystem
No response
What steps will reproduce the bug?
You can easily reproduce from command line:
The returned value is
unknownHow often does it reproduce? Is there a required condition?
This happens always on the Windows arm64 version of Node 24.14.0
What is the expected behavior? Why is that the expected behavior?
The
os.machine()should returnarm64like it does on Mac Apple SiliconWhat do you see instead?
os.machine()returnsunknownAdditional information
This is on the native arm64 version of node.
os.arch()correctly returnsarm64