Skip to content

build: ensure macOS mcpb binary keeps the executable bit - #32

Merged
fpt merged 1 commit into
mainfrom
fix-mcpb-exec-bit
Jul 3, 2026
Merged

fpt merged 1 commit into
mainfrom
fix-mcpb-exec-bit

Conversation

@fpt

@fpt fpt commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

Guarantees the bundled macOS server binary is executable inside the .mcpb, so Claude Desktop can launch it.

Why

mcpb pack stores each source file's unix mode in the zip, so the extracted binary is only executable if the file had +x at pack time. go build/lipo currently produce +x, but this makes it explicit and robust on the CI runner rather than relying on toolchain defaults.

chmod +x mcpb/server/godevmcp-darwin

Verified the packed archive stores rwxr-xr-x for server/godevmcp-darwin (via zipinfo). The Windows .exe doesn't need a unix executable bit, so it's left alone.

🤖 Generated with Claude Code

mcpb pack stores each file's unix mode in the .mcpb archive, so the bundled
binary is only executable if the source file is. Explicitly chmod +x the macOS
universal binary after building; Claude Desktop fails to launch the server if
the extracted binary lacks the executable bit. (Windows ignores unix perms.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@fpt
fpt merged commit 7f6f189 into main Jul 3, 2026
1 check passed
@fpt
fpt deleted the fix-mcpb-exec-bit branch July 3, 2026 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant