[BUG] Cowork silently drops uvx-based plugin MCP servers — startup timeout too short for PyPI cold-start

Resolved 💬 3 comments Opened Apr 11, 2026 by labyrinth-analytics Closed May 24, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When a Cowork plugin's .mcp.json uses uvx to launch an MCP server, the server is silently dropped if the initial uvx cold-start (downloading packages from PyPI) takes longer than Cowork's cloud startup timeout. The MCP tools never appear in the session — no error, no deferred tools, no log message. Skills (SKILL.md text files) from the same plugin load fine; only MCP tool calls are affected.

This appears to affect all uvx/npx-based MCP servers with non-trivial dependency trees, not just ours.

This was confirmed after extensive debugging. The plugin installs correctly, skills load, but MCP tools are completely absent in Cowork sessions.

The same plugin works perfectly in Claude Code CLI where uvx has a warm cache.

Related issues: #35511 (Cowork workspace times out on startup with MCP servers), #22542 (feature request for configurable MCP timeout)

We believe any plugin author using uvx or npx with more than a handful of dependencies will hit this same wall. A configurable timeout or improved cold-start handling would unblock the entire plugin ecosystem for Cowork.

What Should Happen?

The MCP server should start successfully, even if uvx needs to download packages on first run. Any of the following would resolve this:

  1. Increase the startup timeout to accommodate a cold-start uvx/npx install (~28 packages, typically 15-30 seconds on a fast connection)
  2. Add a configurable startupTimeout field to .mcp.json or plugin.json so plugin authors can specify how long their server needs
  3. Pre-cache common packages in the Cowork cloud environment (mcp, pydantic, fastmcp, etc. are used by virtually every Python MCP server)
  4. At minimum, surface an error/warning when an MCP server fails to start — the silent drop makes this nearly impossible to diagnose

Error Messages/Logs

-No error messages anywhere. Cowork surfaces no indication that the MCP server failed to start. The tools simply don't exist in the session. This makes debugging extremely difficult — we spent multiple sessions over several days before isolating the cause.
- Skills from the same plugin work fine. SKILL.md text files load and are usable. Only the MCP server (the .mcp.json entry) is affected.
- The package has ~28 transitive dependencies (via mcp[cli]>=1.0.0, pydantic, cryptography). On a cold start, uvx must download all of these before the server can respond to the MCP handshake.
- installed_plugins.json does not list our plugins even after successful /plugin install — only official marketplace plugins appear. Unclear if this is related or a separate issue.
- The same .mcp.json works perfectly in Claude Code CLI (local Mac, where uvx cache is warm after first run).

Steps to Reproduce

  1. Publish a Python MCP server to PyPI (ours: loreconvo v0.3.2)
  2. Create a .plugin file with a .mcp.json that uses uvx:

{
"mcpServers": {
"loreconvo": {
"command": "uvx",
"args": ["loreconvo"],
"env": { "LORECONVO_PRO": "" }
}
}
}

  1. Install the plugin via a self-hosted marketplace (/plugin marketplace add, then /plugin install)
  2. Verify locally: uvx loreconvo starts the MCP server, waits on stdin — works correctly
  3. Verify in Claude Code CLI: MCP tools appear and are callable via mcpServers in settings.json — works correctly
  4. Open a Cowork session with the same plugin installed
  5. Result: MCP tools (e.g., mcp__loreconvo__save_session) never appear in the deferred tools list or system-reminder. Skills from the same .plugin file load normally. No error of any kind is surfaced.

Claude Model

Not sure / Multiple models

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.101

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Other

Additional Information

  • We are a plugin developer building MCP-based tools distributed via the plugin system. We've spent significant time getting packaging, PyPI publishing, and marketplace install flows working — the only remaining gap is Cowork's cloud startup behavior.
  • Related issues: #35511 (Cowork workspace times out on startup with MCP servers), #22542 (feature request for configurable MCP timeout)
  • We believe any plugin author using uvx or npx with more than a handful of dependencies will hit this same wall. The core MCP SDK alone (mcp[cli]) pulls in ~20 packages. A configurable timeout or improved cold-start handling would unblock the entire plugin ecosystem for Cowork.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗