Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.308 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.239 ·

Clearer marketplace validation errors

Marketplace validation errors now name the bad source and tell you how to fix it.

You'll notice Improvements
JSON All of v2.1.239
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
PluginsArea: what it touches
ImprovementsKind: in v2.1.239,
ImprovementsSection of the release
What

A bare plugin source in a marketplace file now fails with a message naming the source and telling you to either use a ./relative/path or set metadata.pluginRoot. Reserved plugin names are also checked against a single table now instead of one rule per name.

Details
  • Reserved names covered by the table: inline, builtin and skills-dir.
  • Full message: Bare source name "${b}" requires metadata.pluginRoot. Use "./relative/path", or set metadata.pluginRoot (e.g. "./plugins") to allow bare names.
Evidence

Bare source name "${b}" requires metadata.pluginRoot. Use "./relative/path", or set metadata.pluginRoot (e.g. "./plugins") to allow bare names.

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Read from
Names in the bundlemetadata.pluginRoot
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's release notes agreeFixed marketplace metadata.pluginRoot having no effect: bare plugin source names now resolve under it as the docs describe

See this entry in the whole of v2.1.239 →

Feedback