Skip to content

Commit a62b8bf

Browse files
isaacmbrownCopilotsophietheking
authored
Differentiate Copilot BYOK features (#62095)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
1 parent 0b4419f commit a62b8bf

12 files changed

Lines changed: 79 additions & 34 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: Bring your own key for GitHub Copilot
3+
shortTitle: Bring your own key
4+
intro: 'Use your existing LLM provider with {% data variables.product.prodname_copilot %} to save costs or consolidate billing.'
5+
versions:
6+
feature: copilot
7+
contentType: concepts
8+
---
9+
10+
{% data reusables.copilot.byok-two-mechanisms %}
11+
12+
## Local BYOK
13+
14+
Various {% data variables.product.prodname_copilot_short %} clients allow users to configure custom LLM keys locally.
15+
16+
These keys are only handled client-side: they are stored locally and the associated models aren't available to other users. This mechanism removes dependency on {% data variables.product.github %}'s {% data variables.product.prodname_copilot_short %} API, making it suitable for air-gapped environments or users without {% data variables.product.prodname_copilot_short %} subscriptions.
17+
18+
Local BYOK is available in the following clients.
19+
20+
| Client | More information |
21+
| --- | --- |
22+
| {% data variables.product.prodname_vscode_shortname %} | [Add a model from a built in provider](https://code.visualstudio.com/docs/agent-customization/language-models#_add-a-model-from-a-built-in-provider) in the {% data variables.product.prodname_vscode_shortname %} documentation |
23+
| JetBrains | [Bring your own key (BYOK) support for JetBrains IDEs and Xcode](https://github.blog/changelog/2025-09-11-bring-your-own-key-byok-support-for-jetbrains-ides-and-xcode-in-public-preview/#try-it-out) on {% data variables.product.prodname_blog %} |
24+
| Xcode | [Bring your own key (BYOK) support for JetBrains IDEs and Xcode](https://github.blog/changelog/2025-09-11-bring-your-own-key-byok-support-for-jetbrains-ides-and-xcode-in-public-preview/#try-it-out) on {% data variables.product.prodname_blog %} |
25+
| {% data variables.copilot.copilot_cli_short %} | [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models) |
26+
| {% data variables.copilot.github_copilot_app %} | [AUTOTITLE](/copilot/how-tos/github-copilot-app/use-byok-models) |
27+
| {% data variables.copilot.copilot_sdk_short %} | [AUTOTITLE](/copilot/how-tos/copilot-sdk/auth/byok) |
28+
29+
For users on a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, the ability to use local BYOK in IDEs can be disabled by an enterprise or organization policy.
30+
31+
## Enterprise BYOK
32+
33+
>[!NOTE]
34+
>{% data reusables.copilot.byok-preview-note %}
35+
36+
Enterprise owners can add keys for custom models in their enterprise settings. They can also allow organization owners to do the same in their organization settings, by enabling the **Enable custom models** policy.
37+
38+
Custom models are available in {% data variables.copilot.copilot_byok_supported_features %}, and apply to users on the enterprise's {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan. Users can select them in the same way they would select a {% data variables.product.github %}-hosted model.
39+
40+
Enterprise BYOK is handled server-side and affects the models served to users by the {% data variables.product.prodname_copilot_short %} API. Users must have a {% data variables.product.prodname_copilot_short %} license and internet access to use the custom models.
41+
42+
For more information, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/enable-custom-models).

content/copilot/concepts/models/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ versions:
66
feature: copilot
77
contentType: concepts
88
children:
9+
- /bring-your-own-key
910
- /utility-models
1011
- /auto-model-selection
1112
- /fedramp-models

content/copilot/how-tos/administer-copilot/manage-for-enterprise/use-your-own-api-keys.md renamed to content/copilot/how-tos/administer-copilot/manage-for-enterprise/enable-custom-models.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
---
2-
title: Using your LLM provider API keys with Copilot
3-
shortTitle: Use your own API keys
4-
intro: 'Learn how to integrate your preferred custom models with {% data variables.product.prodname_copilot %} by using your own LLM API keys, and make them available for organizations in your enterprise account.'
2+
title: Enabling custom models for GitHub Copilot in your enterprise
3+
shortTitle: Enable custom models
4+
intro: Integrate your preferred custom models with {% data variables.product.prodname_copilot %} by using your own LLM API keys, and make them available for organizations in your enterprise account.
55
versions:
66
feature: copilot-byok
77
contentType: how-tos
88
allowTitleToDifferFromFilename: true
99
category:
1010
- Configure Copilot
1111
- Manage Copilot for a team
12+
redirect_from:
13+
- /copilot/how-tos/administer-copilot/manage-for-enterprise/use-your-own-api-keys
1214
---
1315

1416
{% data reusables.copilot.byok-intro %}
1517

16-
> [!NOTE]
17-
> This article covers custom models configured by enterprise owners. {% data variables.copilot.copilot_cli_short %} and {% data variables.product.prodname_vscode_shortname %} users can also use their own LLM keys locally. See [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models) and [Add a model from a built in provider](https://code.visualstudio.com/docs/agent-customization/language-models#_add-a-model-from-a-built-in-provider) in the {% data variables.product.prodname_vscode_shortname %} documentation.
18-
1918
## Why bring your own API keys?
2019

2120
As an enterprise owner, you may have specific requirements for governance, data security, and compliance. Setting up your own API keys allows you to address:
@@ -28,8 +27,6 @@ As an enterprise owner, you may have specific requirements for governance, data
2827
2928
After you've added your key and selected one or more models, you and members of your organizations will be able to use them with {% data variables.copilot.copilot_byok_supported_features %}. Your models will appear at the bottom of the model picker, under the enterprise name.
3029

31-
> [!NOTE] For members of your organizations to use third-party models in {% data variables.product.prodname_vscode %}, the **Bring Your Own Language Model Key in {% data variables.product.prodname_vscode_shortname %}** policy must be enabled. For more information, see the [{% data variables.product.prodname_copilot_short %} settings page](https://github.com/settings/copilot/features) in {% data variables.product.prodname_dotcom_the_website %}.
32-
3330
{% data reusables.enterprise-accounts.access-enterprise %}
3431
{% data reusables.enterprise-accounts.ai-controls-tab %}
3532
1. In the sidebar, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}**.
@@ -58,4 +55,4 @@ You can choose whether the models you have added are available to organizations
5855

5956
* [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/use-your-own-api-keys) in our documentation for organizations.
6057
* [AUTOTITLE](/copilot/concepts/chat)
61-
* [AUTOTITLE](/copilot/reference/supported-surfaces-for-policies)
58+
* [AUTOTITLE](/copilot/reference/supported-surfaces-for-policies)

content/copilot/how-tos/administer-copilot/manage-for-enterprise/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ children:
1111
- /manage-agents
1212
- /manage-spark
1313
- /manage-availability-of-default-models
14-
- /use-your-own-api-keys
14+
- /enable-custom-models
1515
- /review-audit-logs
1616
redirect_from:
1717
- /copilot/managing-copilot/managing-copilot-for-your-enterprise

content/copilot/how-tos/administer-copilot/manage-for-organization/use-your-own-api-keys.md renamed to content/copilot/how-tos/administer-copilot/manage-for-organization/enable-custom-models.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,30 @@
11
---
2-
title: Using your LLM provider API keys with Copilot
3-
shortTitle: Use your own API keys
4-
intro: 'Learn how to integrate your preferred custom models with {% data variables.product.prodname_copilot %} by using your own LLM API keys, and make them available to your organization members.'
2+
title: Enabling custom models for GitHub Copilot in your organization
3+
shortTitle: Enable custom models
4+
intro: Integrate your preferred custom models with {% data variables.product.prodname_copilot %} by using your own LLM API keys, and make them available to your organization members.
55
versions:
66
feature: copilot-byok
77
contentType: how-tos
88
allowTitleToDifferFromFilename: true
99
category:
1010
- Configure Copilot
1111
- Manage Copilot for a team
12+
redirect_from:
13+
- /copilot/how-tos/administer-copilot/manage-for-organization/use-your-own-api-keys
1214
---
1315

1416
{% data reusables.copilot.byok-intro %}
1517

16-
> [!NOTE]
17-
> This article covers custom models configured by organization owners. {% data variables.copilot.copilot_cli_short %} and {% data variables.product.prodname_vscode_shortname %} users can also configure their own LLM provider locally, without any administrator setup. See [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models) and [Add a model from a built in provider](https://code.visualstudio.com/docs/agent-customization/language-models#_add-a-model-from-a-built-in-provider) in the {% data variables.product.prodname_vscode_shortname %} documentation.
18-
1918
## Why bring your own API keys?
2019

2120
As an organization owner, you may have specific requirements for governance, data security, and compliance. Setting up your own API keys allows you to address:
2221

2322
{% data reusables.copilot.byok-why %}
2423

24+
## Prerequisites
25+
26+
An enterprise owner must have enabled the **Enable custom models** policy.
27+
2528
## Adding your key to an organization account
2629

2730
> [!IMPORTANT] We highly recommend adhering to the principle of least privilege by assigning only the minimum necessary scopes to your API keys.
@@ -38,4 +41,4 @@ After you've added your key and selected one or more models, you and your organi
3841

3942
* [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-your-own-api-keys) in our documentation for enterprise accounts.
4043
* [AUTOTITLE](/copilot/concepts/chat)
41-
* [AUTOTITLE](/copilot/reference/supported-surfaces-for-policies)
44+
* [AUTOTITLE](/copilot/reference/supported-surfaces-for-policies)

content/copilot/how-tos/administer-copilot/manage-for-organization/index.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Managing GitHub Copilot in your organization
33
shortTitle: Manage for organization
4-
intro: 'Organization owners can subscribe to {% data variables.product.prodname_copilot_short %}, manage {% data variables.product.prodname_copilot_short %} for their organization, and control {% data variables.product.prodname_copilot_short %} policies.'
4+
intro: Organization owners can subscribe to {% data variables.product.prodname_copilot_short %}, manage {% data variables.product.prodname_copilot_short %} for their organization, and control {% data variables.product.prodname_copilot_short %} policies.
55
versions:
66
feature: copilot
77
redirect_from:
@@ -19,6 +19,7 @@ children:
1919
- /prepare-for-custom-agents
2020
- /manage-default-models
2121
- /review-activity
22-
- /use-your-own-api-keys
22+
- /enable-custom-models
2323
contentType: how-tos
2424
---
25+

content/copilot/how-tos/copilot-on-github/set-up-copilot/configure-access-to-ai-models.md

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,19 @@ Your access to {% data variables.product.prodname_copilot %} models depends on:
2323

2424
For a list of available AI models, see [AUTOTITLE](/copilot/reference/ai-models/supported-models). For information on how {% data variables.copilot.copilot_chat_short %} serves different AI models, see [AUTOTITLE](/copilot/reference/ai-models/model-hosting).
2525

26-
## Setup for individual use
26+
## Setup for individual plans
2727

2828
For individual {% data variables.product.prodname_copilot_short %} plans, you can use AI models directly within {% data variables.product.prodname_copilot_short %} without configuring access or managing policies. {% data variables.copilot.copilot_free_short %} and {% data variables.copilot.copilot_student_short %} only have access to {% data variables.copilot.copilot_auto_model_selection_short %}.
2929

3030
> [!NOTE]
3131
> Models available depend on your plan. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#supported-ai-models-per-copilot-plan).
3232
33-
## Setup for organization and enterprise use
33+
## Setup for organization and enterprise plans
3434

3535
As an enterprise or organization owner, you can enable or disable access to AI models for members with a {% data variables.copilot.copilot_enterprise_short %} or {% data variables.copilot.copilot_business_short %} seat. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies) and [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies).
3636

37-
> [!NOTE]
38-
> * Models available in {% data variables.copilot.copilot_auto_model_selection %} will follow the policies set for an organization or enterprise. See [AUTOTITLE](/copilot/concepts/models/auto-model-selection).
39-
> * {% data reusables.copilot.byok-no-subscription-required %}
40-
41-
{% ifversion copilot-byok %}
37+
## Custom models
4238

43-
You can also integrate your preferred custom models from supported LLM providers by bringing your own API keys. Organization owners can make custom models available for members of their organization and enterprise owners can add custom models and choose which organizations can make use of them. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/use-your-own-api-keys) for organizations and [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-your-own-api-keys) for enterprise accounts.
39+
{% data reusables.copilot.byok-two-mechanisms %}
4440

45-
{% endif %}
41+
For more information, see [AUTOTITLE](/copilot/concepts/models/bring-your-own-key).

content/copilot/tutorials/roll-out-at-scale/govern-at-scale/resources-for-approval.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ These teams need to know how {% data variables.product.prodname_copilot_short %}
5353

5454
* The allowlist required for a firewall or proxy to ensure {% data variables.product.prodname_copilot_short %} works as expected. See [AUTOTITLE](/copilot/reference/copilot-allowlist-reference).
5555
* The network protocol that {% data variables.product.prodname_copilot_short %} operates on by default, and your company's options for routing traffic through a proxy server and intercepting traffic. See [AUTOTITLE](/copilot/concepts/network-settings).
56-
* The option to use {% data variables.product.prodname_copilot_short %} in air-gapped environments by bringing your own API keys in {% data variables.product.prodname_vscode_shortname %} or {% data variables.copilot.copilot_cli_short %}. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-your-own-api-keys).
56+
* The option to use {% data variables.product.prodname_copilot_short %} in air-gapped environments by configuring API keys locally. See [AUTOTITLE](/copilot/concepts/models/bring-your-own-key#local-byok).
5757
* The clients where users will be using {% data variables.product.prodname_copilot_short %}.
5858
* Your enterprise can enable or disable {% data variables.product.prodname_copilot_short %} in IDEs, on {% data variables.product.prodname_mobile %}, in the CLI, and on the {% data variables.product.github %} website.
5959
* If your company distributes approved software for users, IT teams may need to approve the supported versions of IDEs. See [AUTOTITLE](/copilot/reference/copilot-feature-matrix).

data/reusables/copilot/byok-intro.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
>[!NOTE]
22
>{% data reusables.copilot.byok-preview-note %}
33
4-
You can bring your own API keys to {% data variables.product.prodname_copilot %}, and enable teams to use your preferred large language model (LLM) providers with {% data variables.copilot.copilot_byok_supported_features %}.
4+
You can add custom models to your enterprise or organization by providing your own API keys. This enables teams to use your preferred large language model (LLM) providers with {% data variables.copilot.copilot_byok_supported_features %}.
55

66
API keys from the following providers are supported:
77

@@ -13,4 +13,6 @@ API keys from the following providers are supported:
1313
* OpenAI-compatible providers
1414
* xAI
1515

16-
Fine-tuned models are also supported, but functionality and quality of results can vary depending on the fine-tuning setup. You should test your model and review its outputs carefully before using it in production.
16+
Fine-tuned models are also supported, but functionality and quality of results can vary depending on the fine-tuning setup. You should test your model and review its outputs carefully before using it in production.
17+
18+
>[!NOTE] A separate feature allows users to configure their own LLM keys locally in various clients. See [AUTOTITLE](/copilot/concepts/models/bring-your-own-key).
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
The ability to bring your own API keys to {% data variables.product.prodname_copilot %} is in {% data variables.release-phases.public_preview %} and subject to change.
1+
This feature is in {% data variables.release-phases.public_preview %} and subject to change.

0 commit comments

Comments
 (0)