-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Document plugin formats and environment variables #9634
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -56,6 +56,21 @@ Once installed, plugin-provided customizations appear alongside your locally def | |||||||||||||||||||||
| > [!CAUTION] | ||||||||||||||||||||||
| > Plugins can include hooks and MCP servers that run code on your machine. Review the plugin contents and publisher before installing, especially for plugins from community marketplaces. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## Plugin Formats | ||||||||||||||||||||||
| The plugin format is auto-selected based on the plugin file path (relative to the plugin root). | ||||||||||||||||||||||
| | Plugin format | Plugin file path(s) | | ||||||||||||||||||||||
| |---------------|------------------| | ||||||||||||||||||||||
| | Claude | `.claude-plugin/plugin.json` | | ||||||||||||||||||||||
| | Copilot | `plugin.json`, `.github/plugin/plugin.json` | | ||||||||||||||||||||||
| | OpenPlugin | `.plugin/plugin.json` | | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Plugin Environment Variables | ||||||||||||||||||||||
|
||||||||||||||||||||||
| ### Plugin Environment Variables | |
| ### Plugin environment variables |
Copilot
AI
Apr 8, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The table under "Plugin environment variables" lists values like ${CLAUDE_PLUGIN_ROOT} / ${PLUGIN_ROOT}, which reads like a configuration token, not an environment variable name. Consider either (1) listing the actual env var names (CLAUDE_PLUGIN_ROOT, PLUGIN_ROOT) or (2) renaming the column/section to explicitly describe tokens vs injected environment variables, so readers know what to use in JSON vs in a shell script.
| ### Plugin Environment Variables | |
| | Plugin format | Plugin root | | |
| |---------------|------------------| | |
| | Claude | `${CLAUDE_PLUGIN_ROOT}` | | |
| | Copilot | (Not Defined) | | |
| ### Plugin root tokens | |
| | Plugin format | Plugin root token | | |
| |---------------|-------------------| | |
| | Claude | `${CLAUDE_PLUGIN_ROOT}` | | |
| | Copilot | (Not defined) | |
Copilot
AI
Apr 8, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section introduces an OpenPlugin format and a ${PLUGIN_ROOT} root token, but later sections in this article only document Claude/Copilot paths and only describe ${CLAUDE_PLUGIN_ROOT} for hooks and MCP servers. Either add OpenPlugin-specific details in those later sections (hook file location, path tokens for hooks/MCP), or explicitly state here that OpenPlugin-format plugins are not supported for hooks/MCP in VS Code (if that's the case).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use sentence-style capitalization for headings to match the rest of this doc. For example, change
## Plugin Formatsto## Plugin formats(and keep a blank line after the heading for consistency with other sections).