What
Plugins are add-ons that extend Claude Code, installed from marketplaces (catalogs of plugins). The routine that installs them has new parts:
- New options:
replaceInstalledCopy,replaceOnlyPluginIds,carrySettingsFrom, andsurface, which defaults to "cli". A result can also carry aswitchedfield. - New failure reasons: "installed-from-other-marketplace", "more-installed-than-shown", "plugin-directory-unavailable" (a dependency's directory is unavailable) and "directory-pin-unsatisfied". Each currently shows the generic
Failed to install pluginmessage with failureCode "dependency_resolution_failed". - Each dependency's entry is now checked for a policy block. The marketplace policy check moved into a helper.
- Policy-block messages are now built by a shared message builder. Before, they were fixed text such as "is blocked by your organization's policy and cannot be installed", from the reasons "blocked-by-policy" and "marketplace-blocked-by-policy".
- Several pieces are stubbed out in this build: the list of installed copies is hardcoded empty (
[Pe, ...Le] = []),copiesInOtherProjectsis[], some blocks areif (!1), and some message endings are empty. As a result the replace and other-marketplace paths cannot fire yet.
Why
Most of this cannot take effect yet. In practice, a plugin install that hits one of the new reasons fails with a generic message, and policy-block wording comes from a shared builder. The inactive parts deal with plugins already installed from a different marketplace.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
The finding does not say what `more-installed-than-shown` or `directory-pin-unsatisfied` mean for the person installing.