Skip to content

Setup wizard crashes silently after GitHub step on Windows + Node 25 #64

Description

@nspells-cyber

Summary
The setup wizard (mercury doctor and mercury setup) exits silently after the GitHub configuration step on Windows when running Node.js v25.x. No error message is printed, no exit code is visible, and no entries appear in mercury logs. Because the wizard never completes, ~/.mercury/mercury.yaml is never written, so subsequent attempts to re-run the wizard hit the same wall.

Environment
Mercury Platform Doctor
Cross-platform runtime compatibility report
OS: win32 (x64)
Node.js: v25.9.0 (required >= 20)
Terminal program: unknown
TERM: unknown
Interactive TTY: yes
Raw mode support: yes
SSH session: no
CI environment: no
Daemon: not running

Mercury version: v1.1.9
Windows: Windows 11
Shell: PowerShell (Windows Console Host, not Windows Terminal)
Install method: npm install -g @cosmicstack/mercury-agent

Steps to reproduce

Install Node.js v25.x on Windows.
Install Mercury globally: npm install -g @cosmicstack/mercury-agent.
Run mercury doctor or mercury setup.
Answer each prompt through provider selection and GitHub PAT entry.
After submitting the GitHub PAT, the wizard exits silently.

Expected behavior
Wizard continues to Telegram, web dashboard, and remaining steps. ~/.mercury/mercury.yaml is written on completion. Any validation failure on the GitHub PAT shows a clear error message and either retries or skips that step rather than ending the process.
Actual behavior

PowerShell returns to its prompt with no output.
No error message displayed.
No entry in mercury logs.
~/.mercury/mercury.yaml is not created.
mercury status shows Setup: not done.

Workaround

Uninstall Node v25 from Windows Settings > Apps > Installed apps.
Install Node v24 (or v22 LTS).
Re-run mercury setup.
Skip the GitHub step by pressing Enter with no input.
Add the GitHub PAT to ~/.mercury/mercury.yaml by hand after the wizard completes.

Setup completes cleanly on Node v24 when the GitHub step is skipped.
Notes that may help diagnosis

The platform doctor reports Terminal program: unknown and TERM: unknown when running in legacy Windows Console Host. Switching to Windows Terminal did not change the outcome.
A v22 LTS installer refused to install over a v25 install with "A later version of Node.js is already installed. Setup will now exit." Full uninstall via Settings was required before downgrade.
Crash signature (silent exit, no error, no log entry) is consistent with an unhandled promise rejection inside the Ink TUI during the GitHub PAT validation network call.
Reproducible across multiple wizard runs on the same machine.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions