[BUG] Plugin names starting with "claude-" silently fail to install — misleading "Plugin validation failed" error

Resolved 💬 2 comments Opened May 5, 2026 by billw-canva 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?

Description:
Plugins with names starting with claude- upload successfully but are never activated server-side. The only user-facing error is the generic "Plugin validation failed" — there's no indication the name is the problem.
Making it worse: the create-cowork-plugin skill (Claude itself) generated the name claude-md-health-check without any warning, so the broken name came from the tool that's supposed to help you build plugins.
Steps to reproduce:

Create a plugin with a name starting with claude- (e.g. claude-md-health-check)
Package it as a .plugin file and install via Cowork
Observe "Plugin validation failed"

What Should Happen?

Two fixes needed:

  • Surface the reserved prefix as a specific validation error
  • Add the reserved prefix rule to the naming docs — and ideally prevent the create-cowork-plugin skill from generating reserved names

Error Messages/Logs

[remoteMarketplaceClient] uploadAccountPlugin ... filename=claude-md-health-check.zip  ← succeeds
[PluginsFetcher] fetchAccountScopedRemotePlugins: 4 plugins  ← appears in marketplace
[RemotePluginManager] Installed plugin: claude-md-health-check never fires. Stack trace exception appears in log. Renaming the plugin to context-health-check (identical content) installed immediately.

Steps to Reproduce

Steps to reproduce:

Open a Cowork session
Say "create a plugin" to invoke the create-cowork-plugin skill
When prompted for a name, use any name starting with claude- (e.g. claude-my-tool)
Complete the plugin creation flow — the skill will generate and package it without any warning about the name
Open Cowork Settings → Plugins → Install from file
Select the generated .plugin file
Observe "Plugin validation failed"
Check ~/Library/Logs/Claude/main.log — the upload succeeds and the plugin appears in the marketplace, but [RemotePluginManager] Installed plugin: never fires
Rename the plugin (change name in .claude-plugin/plugin.json and the skill directory to anything not starting with claude-, repackage)
Install again — succeeds immediately

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

Claude 1.5354.0 (9a9e3d) 2026-04-29T01:14:34.000Z

Platform

AWS Bedrock

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

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