Repository navigation
fix(package): preserve LF in the POSIX MCP launcher on Windows - #2500
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
alandelong-oai
left a comment
There was a problem hiding this comment.
Thanks for fixing this. No blocking findings in this merge-safety review. The scoped LF attribute, launcher rewrite, and packaged-byte checks address both existing checkouts and published archives.
Verified all 31 tarball tests, nine portable source tests, TypeScript, Ruff, and formatting. An autocrlf checkout smoke changed the launcher from 102 CRLF endings to LF-only and passed direct Linux execution with the expected arguments. Native Windows execution and the full SDK suite were not independently run.
Summary
A Windows checkout with
core.autocrlf=truecould pack the extensionless POSIX MCP launcher with a carriage return in its shebang. A Linux kernel then returnedENOENTwhen executing the installed file, preventing MCP and its documented helpers from starting.Changes
Testing
git pull --ff-only. A fresh checkout produced the same bytes.ENOENT. The fixed launcher passed the configured server path and--stdioto a harmless test executable and exited successfully. Verified byte-for-byte identity of the Windows batch launcher in both packages.Risk and rollout
The EOL rule names the single POSIX launcher. The package check rejects an archive containing a carriage return in that executable before release.
Public disclosure review