[DOCS] Plugin marketplace docs missing dependency auto-install behavior
Documentation Type
Missing documentation (feature not documented)
Documentation Location
https://code.claude.com/docs/en/discover-plugins
Section/Topic
Install plugins and Configure auto-updates for marketplace plugins
Current Documentation
The install/update docs currently say:
Once you've added marketplaces, you can install plugins directly (installs to user scope by default): /plugin install plugin-name@marketplace-name
And the auto-update section says:
Claude Code can automatically update marketplaces and their installed plugins at startup. When auto-update is enabled for a marketplace, Claude Code refreshes the marketplace data and updates installed plugins to their latest versions.
The lower-level plugin reference currently documents a manual dependency-install pattern instead:
A common use is installing language dependencies once and reusing them across sessions and plugin updates. Because the data directory outlives any single plugin version, a check for directory existence alone cannot detect when an update changes the plugin's dependency manifest. The recommended pattern compares the bundled manifest against a copy in the data directory and reinstalls when they differ. ThisSessionStarthook installsnode_moduleson the first run and again whenever a plugin update includes a changedpackage.json:
What's Wrong or Missing?
Changelog v2.1.105 says:
Fixed marketplace plugins with package.json and lockfile not having dependencies installed automatically after install/update
The docs do not currently explain that marketplace plugin install/update has built-in dependency installation behavior when the plugin includes a package.json and lockfile.
That leaves several important gaps:
A. Install/update behavior is undocumented
The marketplace install and auto-update docs describe adding, installing, and updating plugins, but do not mention that Claude Code can also install plugin dependencies automatically as part of that workflow.
B. The prerequisites and scope are undocumented
The changelog implies this behavior depends on a package.json plus a lockfile, but the docs do not say which lockfiles are supported, which plugin sources this applies to, or what plugin authors should expect after install vs update.
C. Existing plugin dependency guidance needs clarification
plugins-reference currently recommends a custom SessionStart hook that diffs package.json and runs npm install. If marketplace plugins now get dependency installation automatically after install/update, the docs should clarify when that manual pattern is still needed and when Claude Code already handles it.
Suggested Improvement
Add a short documented behavior note to the marketplace installation docs that covers:
- Marketplace plugins with a
package.jsonand supported lockfile have dependencies installed automatically during install/update. - Which lockfiles/package managers are supported.
- Whether this applies to all marketplace plugin source types or only specific ones.
- Where dependencies are installed and what plugin authors should rely on at runtime.
Also update plugins-reference to clarify the relationship between the built-in install/update behavior and the existing ${CLAUDE_PLUGIN_DATA} + SessionStart hook pattern. If the hook example is still recommended, explain that it is for custom persistence or nonstandard dependency bootstrapping rather than the default marketplace-plugin install/update path.
Impact
Medium - Makes feature difficult to understand
Additional Context
Affected Pages:
| Page | Context |
|------|---------|
| https://code.claude.com/docs/en/discover-plugins | End-user install flow and marketplace auto-update behavior |
| https://code.claude.com/docs/en/plugin-marketplaces | Marketplace plugin source types and installation model |
| https://code.claude.com/docs/en/plugins-reference | Current manual dependency-install guidance using ${CLAUDE_PLUGIN_DATA} and a SessionStart hook |
Total scope: 3 pages affected
Source: Changelog v2.1.105
Exact changelog entry: Fixed marketplace plugins with package.json and lockfile not having dependencies installed automatically after install/update
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗