Add built-in plugin directory support - #2330
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds trusted, host-bundled plugin directory registration across all supported SDKs.
Changes:
- Adds absolute-path startup options for six SDKs.
- Registers directories through
plugins.builtin.setafter protocol verification. - Adds tests and documentation for the new behavior.
Show a summary per file
| File | Description |
|---|---|
rust/src/lib.rs |
Adds Rust option and startup RPC. |
rust/tests/builtin_plugin_directories_test.rs |
Tests Rust registration and validation. |
python/copilot/client.py |
Adds Python option and startup RPC. |
python/test_client.py |
Tests Python behavior. |
nodejs/src/types.ts |
Defines the TypeScript option. |
nodejs/src/client.ts |
Validates paths and registers plugins. |
nodejs/test/client.test.ts |
Tests Node.js behavior. |
java/src/main/java/com/github/copilot/rpc/CopilotClientOptions.java |
Adds Java configuration API. |
java/src/main/java/com/github/copilot/CopilotClient.java |
Registers paths during Java startup. |
java/src/test/java/com/github/copilot/BuiltinPluginDirectoriesTest.java |
Tests Java behavior. |
go/types.go |
Defines the Go option. |
go/client.go |
Validates and registers Go paths. |
go/client_test.go |
Tests Go behavior. |
dotnet/src/Types.cs |
Defines and clones the .NET option. |
dotnet/src/Client.cs |
Validates and registers .NET paths. |
dotnet/test/Unit/CloneTests.cs |
Tests option cloning. |
dotnet/test/Unit/GitHubTelemetryTests.cs |
Tests .NET startup registration. |
docs/features/plugin-directories.md |
Documents trusted plugin directories. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 18/18 changed files
- Comments generated: 2
- Review effort level: Balanced
…ories # Conflicts: # java/sdk/src/main/java/com/github/copilot/CopilotClient.java # java/sdk/src/test/java/com/github/copilot/BuiltinPluginDirectoriesTest.java
This comment has been minimized.
This comment has been minimized.
Use a plain code fence for the single-language docs example and clear Go connection state when built-in plugin registration fails so reconnect can start cleanly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: cd609bcf-9f69-4d40-960b-dbd12e90158a
This comment has been minimized.
This comment has been minimized.
devm33
approved these changes
Aug 13, 2026
Make the built-in plugin path validation filter explicit and avoid Path.Combine in the test paths flagged by code scanning. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: cd609bcf-9f69-4d40-960b-dbd12e90158a
Contributor
Cross-SDK Consistency Review ✅This PR adds
No consistency gaps found. The PR maintains full feature parity across all SDK implementations.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
plugins.builtin.setafter connect/protocol verification and before sessions can be created--plugin-dirloading and trusted host-bundled plugin registrationCloses #2327
Validation
cargo test --features test-support --test builtin_plugin_directories_test