[GH-ISSUE #8122] [Bug] Doctor reports a single Windows installation as multiple because where rea lists its launcher shims #4683

Open
opened 2026-10-31 00:52:25 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @Varshavia on GitHub (Oct 30, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/8122

Before submitting

  • I searched the open and closed issues for a related report.
  • I removed credentials, tokens, private paths, and sensitive target data.

Area

Setup, packaging, or upgrade

Observed behavior

On Windows, rea doctor reports identity.installations.state: multiple although identity.installations.paths lists only the two launcher shims of one installation (rea and rea.cmd in the same .bin directory).

Reproduction

  1. On Windows, run npx -y rea-agents@latest doctor.
  2. Read identity.installations.

The output below is from the second run; the first run's terminal output was truncated, so I repeated it and captured stdout to a file. I did not repeat it on a supported Node version or with a global npm install --global rea-agents.

Expected behavior

One installation directory reports single. multiple should mean launchers in different directories that can shadow each other, which is how the existing doctor test ("distinguishes stale skills, path shadowing, and unobservable live state") uses it.

Impact and scope

Informational. installations.state only appears in the doctor output; I found no other consumer in src. Observed on one Windows host, in the run quoted below. Other hosts and install methods were not tested.

REA version

6.8.0 (identity.cli_package_version)

Runtime and platform

Windows 11 Pro build 26300, x64. Node v24.13.0 and npm 11.6.2, run through npx. Node v24.13.0 is outside the supported range and npm printed an EBADENGINE warning; I do not expect this to affect path discovery but did not verify it.

Target and artifact context

Not applicable. No target was open.

Interface

CLI

Earliest failure stage

Transport or result projection

Relevant output or evidence

Observed (private path parts replaced):

installations:
  paths[2]: "C:\Users\<user>\AppData\Local\npm-cache\_npx\<hash>\node_modules\.bin\rea","C:\Users\<user>\AppData\Local\npm-cache\_npx\<hash>\node_modules\.bin\rea.cmd"
  state: multiple

Typed outcome or recovery expected

Not applicable.

Analysis or suspected cause

Source-derived, from main at c5f50e80d, not replayed. In src/application/Doctor.ts, installationPaths() runs where rea on win32 and returns every listed line. installationState(paths) returns multiple for any two or more paths. The package manager writes more than one launcher file for one command on Windows, so a single installation lists several paths.

Additional context

A fix that counts distinct installation directories while leaving the listed paths unchanged is ready to submit as a PR.

Originally created by @Varshavia on GitHub (Oct 30, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/8122 ### Before submitting - [x] I searched the open and closed issues for a related report. - [x] I removed credentials, tokens, private paths, and sensitive target data. ### Area Setup, packaging, or upgrade ### Observed behavior On Windows, `rea doctor` reports `identity.installations.state: multiple` although `identity.installations.paths` lists only the two launcher shims of one installation (`rea` and `rea.cmd` in the same `.bin` directory). ### Reproduction 1. On Windows, run `npx -y rea-agents@latest doctor`. 2. Read `identity.installations`. The output below is from the second run; the first run's terminal output was truncated, so I repeated it and captured stdout to a file. I did not repeat it on a supported Node version or with a global `npm install --global rea-agents`. ### Expected behavior One installation directory reports `single`. `multiple` should mean launchers in different directories that can shadow each other, which is how the existing doctor test ("distinguishes stale skills, path shadowing, and unobservable live state") uses it. ### Impact and scope Informational. `installations.state` only appears in the doctor output; I found no other consumer in `src`. Observed on one Windows host, in the run quoted below. Other hosts and install methods were not tested. ### REA version 6.8.0 (`identity.cli_package_version`) ### Runtime and platform Windows 11 Pro build 26300, x64. Node v24.13.0 and npm 11.6.2, run through `npx`. Node v24.13.0 is outside the supported range and npm printed an `EBADENGINE` warning; I do not expect this to affect path discovery but did not verify it. ### Target and artifact context Not applicable. No target was open. ### Interface CLI ### Earliest failure stage Transport or result projection ### Relevant output or evidence Observed (private path parts replaced): ```text installations: paths[2]: "C:\Users\<user>\AppData\Local\npm-cache\_npx\<hash>\node_modules\.bin\rea","C:\Users\<user>\AppData\Local\npm-cache\_npx\<hash>\node_modules\.bin\rea.cmd" state: multiple ``` ### Typed outcome or recovery expected Not applicable. ### Analysis or suspected cause Source-derived, from `main` at c5f50e80d, not replayed. In `src/application/Doctor.ts`, `installationPaths()` runs `where rea` on `win32` and returns every listed line. `installationState(paths)` returns `multiple` for any two or more paths. The package manager writes more than one launcher file for one command on Windows, so a single installation lists several paths. ### Additional context A fix that counts distinct installation directories while leaving the listed paths unchanged is ready to submit as a PR.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#4683
No description provided.