[BUG] Plugin MCPB extraction fails for tooluniverse@life-sciences: 'undefined is not an object (evaluating T.length)'

Resolved 💬 1 comment Opened Jan 12, 2026 by JiehoonKwak Closed Jan 12, 2026

Environment

  • Claude Code version: 2.1.5
  • OS: macOS Darwin 25.2.0
  • Plugin: tooluniverse@life-sciences v1.0.0

Description

The tooluniverse plugin from the official anthropics/life-sciences marketplace fails to load with an MCPB extraction error.

Steps to Reproduce

  1. Add life-sciences marketplace: /plugin marketplace add anthropics/life-sciences
  2. Install plugin: /plugin install tooluniverse@life-sciences
  3. Restart Claude Code
  4. Check plugin status in /plugin menu

Error Message

Failed to extract MCPB
https://github.com/mims-harvard/ToolUniverse/releases/download/mcpb/tooluniverse.mcpb: 
Failed to read or unzip file: Failed to unzip file: undefined is not an object (evaluating 'T.length')

Observed Behavior

  • MCPB file downloads successfully (3.2MB, valid zip archive)
  • File lands in .mcpb-cache/ but is never extracted
  • Manual unzip -l on the MCPB works fine - file is not corrupted
  • The error appears to be in Claude Code's JavaScript unzip implementation

File Structure After Install

~/.claude/plugins/cache/life-sciences/tooluniverse/1.0.0/
├── .claude-plugin/
│   └── plugin.json      # exists
├── .mcpb-cache/
│   └── 66b9ab95.mcpb    # raw file, NOT extracted
└── tooluniverse.mcpb    # 3.2MB, valid

Verification

The MCPB file is valid:

$ curl -sI "https://github.com/mims-harvard/ToolUniverse/releases/download/mcpb/tooluniverse.mcpb" | head -1
HTTP/2 302  # redirects to valid download

$ unzip -l tooluniverse.mcpb | head -5
# Lists 200+ files successfully

Expected Behavior

Plugin should extract and load the MCP server from the MCPB archive.

Workaround

None for the official plugin. Users can manually configure the MCP server via .mcp.json using the standalone tooluniverse PyPI package, but this defeats the purpose of the plugin system.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗