The hidden first failureThe native helper fails inside an isolated global store; ordinary import fallback later reports the installed plugin as missing.

Route by install topology.

Global pnpmvirtual-store boundary

Capture the binary, global root, dependency tree, and physical package locations.

Project localexact-version A/B

Use a disposable directory to test the same artifact without the global layout.

Source checkoutdifferent diagnosis

The HMR flag message has overlapping internals but a separate installation contract.

Follow the failure, not the last message.

dsh webmount bare plugin
native helperreach Node ESM loader
resolution gapfirst error swallowed
fallback importmisleading not found

Collect before reinstalling.

command -v dsh
dsh --version
node --version
pnpm --version
pnpm root -g
pnpm list -g --depth 3 @deepseek-ai/dsh node-addon-require-builtin

A repair must preserve the boundary.

1Fresh prefix

No inherited hoist or cache assumption.

2Cold restart

No warm loader cache masking the defect.

3Bare plugin mount

Prove the actual failing capability.

4Opt-out semantics

Explicit disable remains explicit.

No permanent internal flag

It bypasses the path; it does not repair dependency ownership.

No broad global hoist

It hides the regression by changing unrelated visibility.

No copied native binary

Platform, ABI, architecture, and package version all matter.

Primary evidence.

Keep the physical layout as evidence.

The canonical guide includes exact probes, a project-local A/B, safe recovery choices, acceptance tests, and a minimal upstream report.

Read and star on GitHub