Remote synced plugin should skip MCP startup when required runtime is missing
Summary
A remote-synced Codex plugin can be enabled on a machine that does not have the runtime required by its MCP server. In this case, the Data Analytics plugin syncs to a remote Linux host and Codex tries to start its datascienceWidgets MCP server, but the machine does not have Node.js installed.
What happened
The plugin is synced as:
data-analytics@openai-curated-remoteinstalled: trueenabled: true
Its MCP config runs:
node ./mcp/server.cjs --stdio
On the remote Linux host, node, npm, npx, and bun are not available on PATH.
Codex startup reports:
MCP client for `datascienceWidgets` failed to start: MCP startup failed: No such file or directory (os error 2)
MCP startup incomplete (failed: datascienceWidgets)
Expected behavior
Codex or the plugin should detect missing runtime requirements before attempting MCP startup and either:
- skip/disable the MCP server for this machine,
- show an actionable message like "Data Analytics Widgets require Node.js", or
- mark the plugin incompatible on this host while keeping it enabled on other devices.
Actual behavior
The plugin remains enabled through remote sync and Codex attempts to start the MCP server every session, producing a low-level startup error.
Why this matters
Plugin install state appears to sync across devices. A plugin enabled from a desktop Codex app may not be runnable on a remote Linux machine with a different runtime environment. Per-account plugin sync should not assume every connected host has the same local dependencies.
Environment
- Remote Linux Codex session
- Plugin:
data-analytics@openai-curated-remote - MCP server:
datascienceWidgets - Missing runtime: Node.js not installed/on
PATH
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗