About Copilot Extensions
Copilot Extensions are integrations that expand the functionality of Copilot Chat, allowing developers to bring external tools, services, and custom behaviors into the Chat experience. You can use Copilot Extensions to extend the capabilities of Copilot Chat in a variety of ways, including:
- Querying documentation: A Copilot Extension can allow Copilot Chat to query a third-party documentation service to find information about a specific topic.
- AI-assisted coding: A Copilot Extension can use a third-party AI model to provide code suggestions.
- Data retrieval: A Copilot Extension can allow Copilot Chat to query a third-party data service to retrieve information about a specific topic.
- Action execution: A Copilot Extension can allow Copilot Chat to execute a specific action, such as posting to a message board or updating a tracking item in an external system.
GitHub Copilot Extensions are built with GitHub Apps. They are best suited for developers who want cross-platform compatibility and app management and support from GitHub.
Supported clients and IDEs
クライアントと IDE | GitHub Copilot Extensions のサポート |
---|---|
Visual Studio Code | |
Visual Studio | |
GitHub.com | |
GitHub Mobile | |
JetBrains IDE | |
GitHub Codespaces | |
Vim/Neovim | |
CLI での Copilot | |
Xcode |
Visibility of GitHub Copilot Extensions
GitHub Copilot Extensions can be private, public and shareable, or public and listed on the GitHub Marketplace. Which visibility option you choose will depend on your use case and the audience you are targeting.
- Private extensions are often preferred by large enterprises or companies that:
- Want more customization and controls over data access
- Need to integrate with a large volume of internal documents and databases
- Have strict security policies making it difficult to authorize permissions for third-parties
- Public extensions are suitable for:
- Open-source projects
- Collaborative development and use across organizations within an enterprise
- Sharing your tool and getting feedback before publishing to the GitHub Marketplace
- GitHub Marketplace extensions are ideal for third-parties that want to:
- Offer their service to a broader audience
- Integrate their tool into the developer workflow on GitHub and the IDE
- Leverage the GitHub ecosystem to raise awareness for their product
GitHub Copilot Extensions permissions
Permissions vary by extension, depending on the level of authorization that the extension requires in order to respond to your query. You can view the required permissions on the extension’s installation page, located after the billing information step and before the install and authorize step.
For extension users: At a minimum, the Copilot Chat permissions must be set to "Read-only". Additional permissions may include executing write actions on other surfaces and authorizing read access to repository and organization level data in GitHub.
For extension creators: In addition to the above, you may also request local context from a user’s editor to further tailor responses. To do so, the Copilot Editor Context permissions must be set to "Read-only". Users will be notified to provide the required authorization.
For more information on GitHub App permissions, see GitHub アプリのアクセス許可を選択する.
Granting permissions to access organization resources
Users with an individual Copilot subscription can install and use Copilot Extensions. Users with a Copilot Business or Copilot Enterprise subscription need an organization administrator to enable this feature.
Only organization administrators can grant permissions for Copilot Extensions to access organization resources.
To grant organization members access, the organization administrator must:
- Install the extension
- Grant the extension permission to access specific repositories
- Authorize access for all, or specific repositories
Controlling access at the enterprise level
If you are an enterprise administrator, you can disable Copilot Extensions across your enterprise by setting the Copilot Extensions policy to "Disabled". The "No Policy" setting allows organization administrators to set their own policy.
No, there is no allowlist or blocklist at the enterprise level.
Sharing data with Copilot Extensions
The following data is shared when you interact with Copilot Extensions:
- Data attached to your account and Copilot Chat usage, such as GitHub user ID, and timestamps of messages.
- Past messages within the chat thread where you are invoking an extension. Only one extension can be used per thread, preventing data sharing across extensions. The data retention period for thread context is 30 days.
- Any additional organization and repository data that is authorized for the extension by your organization administrator. Administrators installing extensions must approve access to the required permissions prior to completing installation.
- For Copilot Chat in GitHub, if your administrator has approved the extension to access repository or organization metadata, that data will be shared as well.