[BUG] External plugins (URL-only, no code) fail to load in desktop app — version resolves to 'unknown', empty cache has no fallback

Resolved 💬 1 comment Opened May 6, 2026 by joe-re-771 Closed Jun 3, 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?

Installing an external plugin (URL-only, no downloadable code — e.g. linear@claude-plugins-official) via claude plugin install results in version resolving to unknown and an empty cache directory. The CLI loads the plugin correctly, but the Claude Code desktop app does not — it finds the empty unknown directory and fails to load the plugin entirely, with no versioned directory to fall back to.

This is related to #27879 but distinct. That issue has a workaround: delete the unknown directory and the system falls back to the correctly versioned cached directory. For external plugins there is no versioned directory — the install produces only an empty unknown folder with nothing to fall back to. The workaround does not apply.

What Should Happen?

The desktop app should load an external plugin from its marketplace definition (the .mcp.json URL pointer), the same way the CLI does. An empty unknown cache directory should not cause the plugin to be treated as uninstalled. External plugins have no code to cache — the cache directory will always be empty by design.

Error Messages/Logs

claude plugin list output:
  linear@claude-plugins-official  Version: unknown  Scope: user  Status: enabled

claude mcp list output:
  plugin:linear:linear: https://mcp.linear.app/mcp (HTTP) - ! Needs authentication

installed_plugins.json entry:
  "linear@claude-plugins-official": [{ "scope": "user", "installPath": "...linear/unknown", "version": "unknown" }]

Cache directory contents:
  ~/.claude/plugins/cache/claude-plugins-official/linear/unknown/  — empty

Desktop app new session response when asked to use Linear:
  "No Linear connector is installed or available in the MCP registry."

Steps to Reproduce

  1. Install an external plugin: claude plugin install linear@claude-plugins-official
  2. Verify CLI sees it: claude mcp list → shows plugin:linear:linear: https://mcp.linear.app/mcp (HTTP) - ! Needs authentication
  3. Verify plugin list: claude plugin list → shows linear enabled, version: unknown
  4. Check cache: ~/.claude/plugins/cache/claude-plugins-official/linear/unknown/ exists but is empty
  5. Fully quit and relaunch Claude Code desktop app
  6. Open a new session and ask Claude to use a Linear tool
  7. Desktop app responds: "No Linear connector is installed or available"

Note: CLI works correctly in the same environment. The issue is specific to the desktop app.

Claude Model

None

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.118 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

OS: Windows 11

Plugin installed: linear@claude-plugins-official (external plugin — URL pointer only, no downloadable code)

The CLI (claude in terminal) correctly sees and connects to the plugin. The Claude Code desktop app does not.

installed_plugins.json shows version unknown and installPath ending in /linear/unknown/. That directory exists but is empty. There is no versioned subdirectory (e.g. /linear/1.0.0/) because external plugins have no versioned releases to download.

The desktop app appears to require non-empty cache content to treat a plugin as loaded. The CLI does not have this requirement and reads the marketplace definition directly.

View original on GitHub ↗

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