[GH-ISSUE #164] setup --install-hopper is ignored when Hopper is already configured #113

Closed
opened 2026-10-15 18:21:15 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @morluto on GitHub (Jul 14, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/164

Summary

rea setup does not install Hopper when --install-hopper is passed if a launcher path is already present and no explicit repair condition is currently detected.

Steps to reproduce

  1. Run setup on a machine with a valid existing Hopper installation (host.hopperPath() returns a path) and no repair checks failing.
  2. Pass --yes --install-hopper.
  3. Observe setup workflow output and actions.

Evidence

  • installHopper is derived from runtime state and does not consider the explicit option:
    • src/application/Setup.ts:141 (const installHopper = hopperPath === undefined || linuxHopperRepairNeeded;)
    • src/application/Setup.ts:161 (if (installHopper && (interactiveApproval || options.installHopper)) {)
  • The explicit install flag is only consulted when installHopper is already true.

Impact

The --install-hopper flag is not an actionable force-reinstall path when Hopper is already installed. This blocks users from intentionally re-running a Hopper install/repair flow without first making it look missing or repair-necessary.

Originally created by @morluto on GitHub (Jul 14, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/164 ## Summary `rea setup` does not install Hopper when `--install-hopper` is passed if a launcher path is already present and no explicit repair condition is currently detected. ## Steps to reproduce 1. Run setup on a machine with a valid existing Hopper installation (`host.hopperPath()` returns a path) and no repair checks failing. 2. Pass `--yes --install-hopper`. 3. Observe setup workflow output and actions. ## Evidence - `installHopper` is derived from runtime state and does not consider the explicit option: - `src/application/Setup.ts:141` (`const installHopper = hopperPath === undefined || linuxHopperRepairNeeded;`) - `src/application/Setup.ts:161` (`if (installHopper && (interactiveApproval || options.installHopper)) {`) - The explicit install flag is only consulted when `installHopper` is already true. ## Impact The `--install-hopper` flag is not an actionable force-reinstall path when Hopper is already installed. This blocks users from intentionally re-running a Hopper install/repair flow without first making it look missing or repair-necessary.
bsakaguchi 2026-10-15 18:21:15 +00:00
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#113
No description provided.