[Feature Request] Add `installScopes` to plugin manifest to restrict installation scope

Resolved 💬 2 comments Opened Feb 19, 2026 by andrewconnell Closed Mar 19, 2026

Bug Description
Add scope/installScopes to plugin manifest to restrict the scopes where a plugin can be installed. Currently a plugin can be installed at any scope. If the plugin is only intended to be used within a project, nothing stops it from being installed at a higher scope (user / system).

Consider a plugin that adds a hook blocking the Read or Write tool except within the context of a specific folder within a project. If the plugin is accidentally installed at the user scope, Claude will be blocked via the hook from using the Read/Write tool except for a specific folder within the user's profile. This can confuse the user and make it unclear why they think Claude is broken.

If the plugin manifest had a installScopes array listing the scopes where it can be installed, this could help avoid this. By default, installScopes would include all scopes if omitted. But, if installScopes=['project'] was present, Claude would not install it at the user or system scope, only at at the project scope.

Environment Info

  • Platform: darwin
  • Terminal: WarpTerminal
  • Version: 2.1.47
  • Feedback ID: 602a550f-3675-44bb-9d19-87f3884d2583

Errors

[{"error":"Error: Plugin superpowers has an invalid manifest file at /Users/ac/.claude/plugins/cache/claude-plugins-official/superpowers/4.3.0/.claude-plugin/plugin.json.\n\nValidation errors: : Unrecognized keys: \"category\", \"source\"\n\nPlease fix the manifest or remove it. The plugin cannot load with an invalid manifest.\n    at VhR (/$bunfs/root/claude:1843:10890)\n    at async sS_ (/$bunfs/root/claude:1851:378)\n    at async OI7 (/$bunfs/root/claude:1851:8500)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-19T10:57:06.652Z"}]

View original on GitHub ↗

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