mirror of
https://github.com/headroomlabs-ai/headroom.git
synced 2026-08-27 14:17:10 -04:00
The wrap transport plugin appended `NODE_OPTIONS=--import=<plugin dir>/../hook-shim/handler.js` to its own env and to every child it spawns. That path only resolves in a repo checkout (`plugins/opencode/dist/` has a `hook-shim/` sibling). Wheel installs load the standalone bundle from `headroom/providers/opencode/_dist/`, where no shim exists — `hook-shim/` lives under `plugins/` and maturin only ships files under `headroom/`. Every Node child then aborted with ERR_MODULE_NOT_FOUND before running, including OpenCode's stdio MCP servers, which surfaced as `<server> MCP error -32000: Connection closed` for third-party servers (codegraph, firecrawl) while Headroom's own Python MCP server stayed up. Resolve the shim only when it is present on disk, and skip the NODE_OPTIONS mutation otherwise: children go direct instead of dying. Checkout builds keep child-process transport hooking unchanged. |
||
|---|---|---|
| .. | ||
| headroom-agent-hooks | ||
| headroom-oauth2 | ||
| hermes | ||
| openclaw | ||
| opencode | ||