You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Named pipe control for Windows — The MCP server now uses -control pipe:<name> on Windows instead of -control stdio. This follows the official openMSX documentation and fixes a known issue where the StdioConnection stdin reader thread hangs on exit because read() never unblocks cleanly on Windows. Commands are sent to openMSX via a Windows named pipe (\\.\pipe\openmsx-mcp-<pid>); replies are still read from stdout as usual. Each MCP server instance uses a PID-based pipe name to avoid collisions.
macOS: Auto-Detection of openMSX Executable
macOS .app bundle probe — The server now probes /Applications/openMSX.app/Contents/MacOS/openmsx before falling back to openmsx in PATH. This means macOS users no longer need to set OPENMSX_EXECUTABLE manually when openMSX is installed in the standard location.
Improved Error Handling
Actionable ENOENT message — When the openMSX executable is not found, the error now includes the attempted path and per-platform guidance on how to set OPENMSX_EXECUTABLE (macOS bundle path, Windows Program Files, Linux PATH).
Defensive pipe cleanup — The named pipe writer is cleaned up on every exit path (process exit, close, force-kill, and re-launch), preventing resource leaks if the emulator crashes unexpectedly.
Documentation
Updated README and skill environment variables documentation with auto-detected defaults per platform.
OPENMSX_EXECUTABLE default value now shows the actual auto-detected path for each OS.