Bug
Installing the Electron frontend on Node 24/26 can leave node_modules/electron
half-installed, which then makes npm run dev fail with:
Error: Electron failed to install correctly, please delete node_modules/electron and try installing again
Analyzed against: 7c7c985 | Confidence: High
Reproduction
cd frontend
node -v
# v26.2.0
npm install
npm run dev
Observed result:
An unhandled rejection has occurred inside Forge:
Error: Electron failed to install correctly, please delete node_modules/electron and try installing again
Switching to Node 20 makes the same flow work:
cd frontend
nvm use 20 || nvm install 20
rm -rf node_modules
npm ci
npm run dev
Root Cause
This is not a project-specific runtime bug in the app code. The frontend uses
Electron Forge + Electron, and newer Node 24/26 runtimes currently hit an
upstream Electron install failure that can leave node_modules/electron
partially extracted. In that state, Electron's expected install metadata is
missing and Forge later fails while locating the Electron executable.
ReverbCode's own desktop/frontend workflows already run on Node 20 today, so
contributors can hit this locally even though CI is green.
Fix
Make the frontend's supported Node version explicit and fail fast before a
partial install:
- declare
engines.node = 20.x in frontend/package.json
- add a
preinstall guard that rejects unsupported Node majors with recovery steps
- add
frontend/.nvmrc
- document the Node 20 requirement in the root README
Impact
This is likely to affect contributors who use current Node 24/26 by default and
try the Electron frontend locally. The failure is confusing because npm install
can look mostly successful and the actual break only appears later on
npm run dev. A fast-fail guard removes that trap and aligns local setup with
the repo's existing Node 20 desktop workflow.
Bug
Installing the Electron frontend on Node 24/26 can leave
node_modules/electronhalf-installed, which then makes
npm run devfail with:Analyzed against:
7c7c985| Confidence: HighReproduction
Observed result:
Switching to Node 20 makes the same flow work:
Root Cause
This is not a project-specific runtime bug in the app code. The frontend uses
Electron Forge + Electron, and newer Node 24/26 runtimes currently hit an
upstream Electron install failure that can leave
node_modules/electronpartially extracted. In that state, Electron's expected install metadata is
missing and Forge later fails while locating the Electron executable.
ReverbCode's own desktop/frontend workflows already run on Node 20 today, so
contributors can hit this locally even though CI is green.
Fix
Make the frontend's supported Node version explicit and fail fast before a
partial install:
engines.node = 20.xinfrontend/package.jsonpreinstallguard that rejects unsupported Node majors with recovery stepsfrontend/.nvmrcImpact
This is likely to affect contributors who use current Node 24/26 by default and
try the Electron frontend locally. The failure is confusing because
npm installcan look mostly successful and the actual break only appears later on
npm run dev. A fast-fail guard removes that trap and aligns local setup withthe repo's existing Node 20 desktop workflow.