The plugin would not start. Every launch died at module import with
TypeError: Schema3.TaggedErrorClass is not a function
reported by the runner as the uninformative `UnknownError: An error occurred in Effect.tryPromise`
(`sdk/src/runner.ts` wraps the import in a bare `tryPromise` and logs only the first line of the
cause, so the real TypeError never reaches a log line).
Cause: `"effect": "^4.0.0-beta.102"`. A caret range spans breaking prereleases. effect still had
`Schema.TaggedErrorClass` at beta.102 but had removed it by beta.106, so a fresh install resolved
beta.106 and the contract's Schema-backed error classes failed to construct at import time — before
any of this plugin's code ran.
Pinned to exactly the version it was already written against, beta.102, which still has the API;
this is the smallest change that makes runtime match the build. Measured: beta.99 and beta.102 both
export TaggedErrorClass, beta.106 does not.
Verified by reproduction rather than inspection — clean sandbox, same command:
0.1.0 (^4.0.0-beta.102) -> resolves effect beta.106 -> import fails with the TypeError above
0.1.1 (4.0.0-beta.102) -> resolves effect beta.102 -> import OK, default export `virtualhere`
Gates: frozen-lockfile install, typecheck x3, 73 tests, biome — all clean.
Same class of bug as punktfunk-plugin-rom-manager#4. The other plugins (epic, gog, heroic, lutris,
steam, xbox) already pin exactly and are unaffected; playnite still carries `^4.0.0-beta.99` and
has the same latent bug.