Follow Discord
Sweep 25 Sep 2026 · 19:33Z Build v2.1.283 504 read Stable v2.1.274 Latest v2.1.283 Next v2.1.283 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.281 ·

Plugin install and loading add checks for directory plugins and reserved names

Plugin install rejects IDs under reserved marketplace names, and install, load and update now track directory plugins and run a source check

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

What

Plugins are add-ons that extend Claude Code, and they are installed from marketplaces (catalogs of plugins). This release adds checks and record-keeping for directory plugins across installing, loading and updating.

  • Reserved names: installing a plugin whose ID falls under a reserved marketplace name now fails with "plugin id under the reserved marketplace name".
  • Install records: installed-plugin records gain directoryRepositoryKey. Install passes isDirectoryPlugin and directoryPin, and now returns recordedAt and manifestVersion.
  • Version sources: the version is now resolved as either installed or catalog ({ kind: "catalog", version }).
  • Check before re-download: when a plugin's cached files are missing and would be downloaded again, a new check can refuse the load and show its own message. isDirectoryPlugin and directoryPin are passed to this step as well.
  • Updates: plugin updates run the same check and fail with not_found if it refuses.
  • npm marketplaces: plugin update for an npm-marketplace plugin that is not installed now fails with not_installed ("is not installed").

Why

The reserved-name check stops a lookalike marketplace from passing its plugins off under a name meant for an official one. The source check means a plugin whose files have gone missing is not quietly downloaded again if it fails that check. If an install or update now fails with one of these messages, the plugin's name or source is what to look at.

See this entry in the whole of v2.1.281 →

Feedback