From fc427968aeaa96ff5b818401dcb13124eddd9217 Mon Sep 17 00:00:00 2001 From: Youichi Fujimoto Date: Fri, 3 Jul 2026 22:37:13 +0900 Subject: [PATCH] build: ensure macOS mcpb binary keeps the executable bit 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 --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index d5c6cba..83d36c6 100644 --- a/Makefile +++ b/Makefile @@ -51,6 +51,9 @@ mcpb-build: ## Cross-compile binaries for the MCPB bundle (macOS universal + Win lipo -create -output mcpb/server/godevmcp-darwin mcpb/server/godevmcp-darwin-arm64 mcpb/server/godevmcp-darwin-amd64 rm -f mcpb/server/godevmcp-darwin-arm64 mcpb/server/godevmcp-darwin-amd64 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o mcpb/server/godevmcp-win32.exe godevmcp/main.go + # Ensure the executable bit is set so mcpb pack stores it in the archive; + # Claude Desktop requires the extracted macOS server binary to be executable. + chmod +x mcpb/server/godevmcp-darwin mcpb-pack: mcpb-build ## Build binaries and pack the .mcpb bundle mkdir -p output