Skip to content

Node 24 binary missing on Windows after install (proto::locate::missing_executable) #1006

@rhuanbarreto

Description

@rhuanbarreto

Environment

  • proto version: 0.56.4
  • OS: Windows Server 2025 (GitHub Actions windows-latest)
  • Node version requested: ~24 (resolved to 24.14.0)
  • .prototools: node = "24"

Problem

When installing Node 24 on Windows via moonrepo/setup-toolchain, proto reports the installation as successful but the actual node.exe binary is never written to disk. The warnings are emitted during symlink creation but the install is not marked as failed:

[ WARN ] proto_core::flow::link  Unable to symlink binary, source file does not exist
  tool="node"
  source="C:\Users\runneradmin\.proto\tools\node\24.14.0\node.exe"
  target="C:\Users\runneradmin\.proto\bin\node.exe"

[node] Node.js 24.14.0 installed

After this, any attempt to use node via the proto shim fails:

Error: proto::locate::missing_executable

  × Unable to find an executable for Node.js, expected file
  │ ~\.proto\tools\node\24.14.0\node.exe does not exist.

Reproduction

  1. Create .prototools with node = "24"
  2. Run moonrepo/setup-toolchain on windows-latest with auto-install: true
  3. Try to run node --version

Expected behavior

Either:

  • The Node 24 binary should be properly downloaded and installed on Windows
  • Or the installation should fail with an error (not succeed with warnings) so the CI step fails early with a clear message

Workaround

Pinning to node = "22" (LTS) works correctly on Windows.

CI log reference

Full log: https://github.com/archgate/cli/actions/runs/25657982746/job/75311030982

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions