[Bug] Plugin sync fails to extract scripts directory from bundle, breaking local MCP servers
Bug Description
Cowork plugin sync wipes local MCP server scripts, causing crash loop
After any organizational plugin update/sync, local MCP servers stop working with MCP error -32000: Connection closed.
The .plugin bundle correctly includes the scripts/ directory, but after a sync ~/.claude/plugins/[plugin-id]/scripts/ is never populated from the bundle. Node MCP servers defined in .mcp.json with "command": "node" crash immediately with MODULE_NOT_FOUND.
Confirmed by:
~/.claude/plugins/plugin_01KNSPPM3nQVC8moKwdXyuDr/ is completely missing after reinstall
unzip -l ask-reggie.plugin shows scripts are present in the bundle
Manually copying scripts into ~/.claude/plugins/[plugin-id]/scripts/ resolves the issue immediately
Reproduce: install any org plugin with local node MCP servers → push a repo update → sync wipes the directory → all MCP tools enter crash loop.
Workaround: manually extract scripts from bundle to ~/.claude/plugins/[plugin-id]/scripts/ after every sync.
Environment Info
- Platform: darwin
- Terminal: Apple_Terminal
- Version: 2.1.112
- Feedback ID: 1ef43758-70ef-49eb-8c9f-3c7dd2d9eb0a
Errors
[{"error":"Error: Failed to delete keychain entry: security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.\n at mAq (/$bunfs/root/src/entrypoints/cli.js:253:283569)\n at async Nuq (/$bunfs/root/src/entrypoints/cli.js:406:898)\n at async gS6 (/$bunfs/root/src/entrypoints/cli.js:406:796)\n at async m8_ (/$bunfs/root/src/entrypoints/cli.js:2724:2084)\n at async cjH (/$bunfs/root/src/entrypoints/cli.js:2749:5698)\n at async <anonymous> (/$bunfs/root/src/entrypoints/cli.js:2773:3363)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-04-17T19:36:38.733Z"}]This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗