From 08905b286805833d2ee5286dd230a4c41c05a2b0 Mon Sep 17 00:00:00 2001 From: Kayla Cinnamon Date: Tue, 9 Jun 2026 15:45:38 -0400 Subject: [PATCH 1/8] Add blog post: Use your own language model key in VS Code Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- blogs/2026/06/09/byok-vscode.md | 169 ++++++++++++++++++ blogs/2026/06/09/language-models-editor.png | 3 + .../06/09/model-dropdown-change-model-v2.png | 3 + .../06/09/model-provider-quick-pick-v2.png | 3 + .../2026/06/09/reconfigure-model-provider.png | 3 + 5 files changed, 181 insertions(+) create mode 100644 blogs/2026/06/09/byok-vscode.md create mode 100644 blogs/2026/06/09/language-models-editor.png create mode 100644 blogs/2026/06/09/model-dropdown-change-model-v2.png create mode 100644 blogs/2026/06/09/model-provider-quick-pick-v2.png create mode 100644 blogs/2026/06/09/reconfigure-model-provider.png diff --git a/blogs/2026/06/09/byok-vscode.md b/blogs/2026/06/09/byok-vscode.md new file mode 100644 index 00000000000..cfb9f8563d8 --- /dev/null +++ b/blogs/2026/06/09/byok-vscode.md @@ -0,0 +1,169 @@ +--- +Order: 131 +TOCTitle: Bring Your Own Key +PageTitle: "Use your own language model key in VS Code" +MetaDescription: Learn how to use bring your own key (BYOK) in VS Code to add models from providers like Azure, Anthropic, Gemini, OpenAI, OpenRouter, Ollama, Foundry Local, and more. +MetaSocialImage: language-models-editor.png +Date: 2026-06-09 +Author: Kayla Cinnamon +--- + +# Use your own language model key in VS Code + +June 9, 2026 by [Kayla Cinnamon](https://github.com/cinnamon-msft) + +Model choice is moving fast, and we want to support flexibility. Sometimes you want the built-in models available through GitHub Copilot. Sometimes you want to try a new model from a provider your team already uses. Sometimes you want to experiment locally. VS Code allows you to do all of these workflows with bring your own language model key, or BYOK. + +With BYOK in VS Code, you can add models from providers like Azure, Anthropic, Gemini, OpenAI, OpenRouter, Ollama, Foundry Local, and more, then use them directly from the Chat model picker. + +![The VS Code Chat model picker showing available language models.](model-dropdown-change-model-v2.png) + +## What is BYOK? + +BYOK lets you use a language model from a supported provider by adding your own API key or endpoint configuration in VS Code. Once configured, those models appear in the same Chat model picker you already use for Copilot. + +This gives you more choice for chat and agent workflows. For example, you can: + +- Try models that are not built into VS Code. +- Use a provider your organization already has billing or governance set up for. +- Connect to local models through providers such as Ollama or Foundry Local. +- Pick different models for different tasks, such as quick Q&A, planning, or multi-step agent work. + +The goal is to allow you to choose the right model and keep working. + +## What BYOK works with + +BYOK models are available for VS Code chat experiences, including agent workflows when the selected model supports the required capabilities. + +There are a few important details to keep in mind: + +- BYOK models work without signing into a GitHub account and without a Copilot plan. You can add and use models entirely with your own API keys, including fully offline scenarios with local models. +- BYOK applies to chat and utility tasks, not standard code completions. +- Some AI features, such as semantic search, inline suggestions, and features that rely on embeddings, still require a GitHub account or Copilot support. +- Usage for provider-backed BYOK models is billed directly by that provider and does not count against GitHub Copilot request quotas. +- For Copilot Business and Enterprise, organization administrators can control BYOK availability through Copilot policy settings. + +In other words, BYOK expands model choice in VS Code Chat, but it does not replace every Copilot-powered feature in the editor. + +## Open the Language Models editor + +The easiest way to get started is through the **Language Models** editor. + +You can open it from the Chat model picker by selecting the **Manage Language Models** gear icon, or you can run **Chat: Manage Language Models** from the Command Palette. + +![The Language Models editor in VS Code.](language-models-editor.png) + +The Language Models editor shows the models available to you, grouped by provider. It also shows useful details like model capabilities, context size, billing information, and whether a model is visible in the picker. + +This is also where you can keep the model picker focused. If you are testing several providers, you can hide models you do not use often and keep your day-to-day models easy to find. + +## Add models from a built-in provider + +If the provider you want is built into VS Code, setup is a few clicks. + +1. Open **Chat: Manage Language Models**. +2. Select **Add Models**. +3. Choose a provider. +4. Enter a group name for the models. This is the label shown in the model picker and Language Models editor. +5. Enter the provider details, such as an API key, endpoint, deployment name, or other required configuration. +6. Select the model from the Chat model picker. + +![The model provider picker in VS Code.](model-provider-quick-pick-v2.png) + +Depending on the provider, VS Code might open a `chatLanguageModels.json` file so you can finish configuring model details. + +For example, an Azure OpenAI configuration can include a deployment name, endpoint URL, and capability information: + +```json +[ + { + "name": "Azure", + "vendor": "azure", + "models": [ + { + "id": "", + "name": "GPT-5.5", + "url": "https://.openai.azure.com", + "toolCalling": true, + "vision": true, + "maxInputTokens": 200000, + "maxOutputTokens": 64000 + } + ] + } +] +``` + +The exact fields depend on the provider and model. The important part is that after the provider is configured, the model becomes available from the same picker you use for the rest of Chat. + +## Add models from extensions + +VS Code also supports language model provider extensions. These extensions can contribute models directly into the Language Models editor and Chat model picker. + +To find provider extensions: + +1. Open the Extensions view. +2. Search for `@tag:language-models`. +3. Install the provider extension you want to use. +4. Follow the extension's setup instructions. +5. Select the model from the Chat model picker. + +This extensibility is a big part of the BYOK story. Instead of every provider needing to be hard-coded into VS Code, extensions can bring new model providers into the editor as the ecosystem evolves. + +## Add a custom endpoint (VS Code Insiders) + +If you have a self-hosted, enterprise, or compatible API endpoint, you can add it with the **Custom Endpoint** provider. This feature is currently available in [VS Code Insiders](https://code.visualstudio.com/insiders/) only. + +Custom Endpoint supports API types such as Chat Completions, Responses, and Messages. This is useful when your model is not available from a built-in provider but exposes an API that VS Code can call. + +The flow is similar to adding a built-in provider: + +1. Open **Chat: Manage Language Models**. +2. Select **Add Models**. +3. Choose **Custom Endpoint**. +4. Enter the group name, display name, API key, and API type. +5. Update the generated `chatLanguageModels.json` configuration with your model details. +6. Save the file and select the model in Chat. + +If a model does not appear immediately, try reloading VS Code. + +## Manage and reconfigure models + +After you add a provider, you can return to the Language Models editor to update it. Select the gear icon next to a provider to change details such as the API key, endpoint, or model configuration. + +![Reconfiguring a model provider in the Language Models editor.](reconfigure-model-provider.png) + +You can also decide which models appear in the picker. I like this because it lets me experiment without turning the picker into a wall of model names. Keep the models you use every day visible, and hide the ones you only need occasionally. + +## Choosing the right model + +One of the best parts of BYOK is that you do not have to use one model for everything. + +For everyday work, you might choose: + +- A fast model for quick questions, summaries, and small edits. +- A reasoning model for planning, debugging, or complex refactors. +- A local model when you want to experiment offline. +- A provider-specific model when your team already has workflows around that provider. + +## Troubleshooting + +If something does not show up as expected, start with the Language Models editor. It gives you the clearest view of what VS Code has configured. + +Common things to check: + +- Reload VS Code after adding or changing a provider. +- Confirm the model is visible in the Language Models editor. +- If a model is missing from the agent model picker, it likely does not support tool calling — VS Code automatically hides models without tool calling support when using agents. +- Double-check the endpoint URL, model ID, API type, and API key. +- For organization accounts, confirm BYOK is enabled in Copilot policy settings. + +## Try it out + +BYOK gives you more flexibility in VS Code without adding more tools to your workflow. You can keep using the built-in Copilot models, add models from providers you already use, experiment with local models, and choose the right model for each task from one place. + +To learn more, check out the VS Code docs on [AI language models](https://code.visualstudio.com/docs/agent-customization/language-models), the VS Code blog post on [Expanding Model Choice in VS Code with Bring Your Own Key](https://code.visualstudio.com/blogs/2025/10/22/bring-your-own-key), and the GitHub changelog entry for [BYOK availability in VS Code](https://github.blog/changelog/2026-04-22-bring-your-own-language-model-key-in-vs-code-now-available/). + +We are continuing to improve model choice in VS Code, and your feedback helps shape what comes next. Try BYOK with your workflow and let us know what you think in the [VS Code repository](https://github.com/microsoft/vscode). + +Happy coding! 💙 diff --git a/blogs/2026/06/09/language-models-editor.png b/blogs/2026/06/09/language-models-editor.png new file mode 100644 index 00000000000..313a8b59a09 --- /dev/null +++ b/blogs/2026/06/09/language-models-editor.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a6d9c90108e3e779578b676d1bf6daf6b2b7df69ea1ab2f08593a276b903bde +size 128273 diff --git a/blogs/2026/06/09/model-dropdown-change-model-v2.png b/blogs/2026/06/09/model-dropdown-change-model-v2.png new file mode 100644 index 00000000000..742b4c8b3c8 --- /dev/null +++ b/blogs/2026/06/09/model-dropdown-change-model-v2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ab2a1dcf347e73a1c38c3690c5ff8253b3d6990ddd506861617f0f3815696d2 +size 33313 diff --git a/blogs/2026/06/09/model-provider-quick-pick-v2.png b/blogs/2026/06/09/model-provider-quick-pick-v2.png new file mode 100644 index 00000000000..fa5e693c522 --- /dev/null +++ b/blogs/2026/06/09/model-provider-quick-pick-v2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4956920272a7e4e20bfa7485b9498fd3b3faa3364a33a6580c1ff980d13ad55f +size 81841 diff --git a/blogs/2026/06/09/reconfigure-model-provider.png b/blogs/2026/06/09/reconfigure-model-provider.png new file mode 100644 index 00000000000..2e86929decd --- /dev/null +++ b/blogs/2026/06/09/reconfigure-model-provider.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:882f00e2b450da51cd5e7f3859c7c649410e0a3d0dd24b9cf00671337c720512 +size 55656 From c1af626bb5ec3bae1350d14fa6c8128ea482ad03 Mon Sep 17 00:00:00 2001 From: Kayla Cinnamon Date: Wed, 10 Jun 2026 16:10:52 -0400 Subject: [PATCH 2/8] Apply suggestions from code review Co-authored-by: James Montemagno Co-authored-by: Jon Galloway --- blogs/2026/06/09/byok-vscode.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/blogs/2026/06/09/byok-vscode.md b/blogs/2026/06/09/byok-vscode.md index cfb9f8563d8..3167fcfac23 100644 --- a/blogs/2026/06/09/byok-vscode.md +++ b/blogs/2026/06/09/byok-vscode.md @@ -1,8 +1,8 @@ --- Order: 131 TOCTitle: Bring Your Own Key -PageTitle: "Use your own language model key in VS Code" -MetaDescription: Learn how to use bring your own key (BYOK) in VS Code to add models from providers like Azure, Anthropic, Gemini, OpenAI, OpenRouter, Ollama, Foundry Local, and more. +PageTitle: "Use your own language model key or local model in VS Code" +MetaDescription: Learn how to use bring your own key (BYOK) in VS Code to add models from providers like Azure, Anthropic, Gemini, OpenAI, Huggingface, OpenRouter, or use a local model with Ollama, Foundry Local, and more. MetaSocialImage: language-models-editor.png Date: 2026-06-09 Author: Kayla Cinnamon @@ -12,15 +12,15 @@ Author: Kayla Cinnamon June 9, 2026 by [Kayla Cinnamon](https://github.com/cinnamon-msft) -Model choice is moving fast, and we want to support flexibility. Sometimes you want the built-in models available through GitHub Copilot. Sometimes you want to try a new model from a provider your team already uses. Sometimes you want to experiment locally. VS Code allows you to do all of these workflows with bring your own language model key, or BYOK. +Model choice is moving fast, and we want to support flexibility. Sometimes you want the built-in models available through GitHub Copilot. Sometimes you want to try a new model from a provider your team already uses. Sometimes you want to experiment locally. VS Code allows you to do all of these workflows with bring your own language model key (BYOK) and bring your own local model. -With BYOK in VS Code, you can add models from providers like Azure, Anthropic, Gemini, OpenAI, OpenRouter, Ollama, Foundry Local, and more, then use them directly from the Chat model picker. +With BYOK in VS Code, you can add models from providers like Azure, Anthropic, Huggingface, Gemini, OpenAI, OpenRouter, or you can run a model locally with Ollama, Foundry Local, and more, then use them directly from the Chat model picker. ![The VS Code Chat model picker showing available language models.](model-dropdown-change-model-v2.png) ## What is BYOK? -BYOK lets you use a language model from a supported provider by adding your own API key or endpoint configuration in VS Code. Once configured, those models appear in the same Chat model picker you already use for Copilot. +BYOK lets you use a language model from a supported provider by adding your own API key or endpoint configuration in VS Code. Once configured, those models appear in the same Chat model picker you already use for Copilot. Support is built in for several providers and VS Code is extensible, so any model provider can enable support through an extension. This gives you more choice for chat and agent workflows. For example, you can: @@ -37,7 +37,7 @@ BYOK models are available for VS Code chat experiences, including agent workflow There are a few important details to keep in mind: -- BYOK models work without signing into a GitHub account and without a Copilot plan. You can add and use models entirely with your own API keys, including fully offline scenarios with local models. +- BYOK models work without signing into a GitHub account and **without** a Copilot plan. You can add and use models entirely with your own API keys, including fully **offline scenarios with local models**. - BYOK applies to chat and utility tasks, not standard code completions. - Some AI features, such as semantic search, inline suggestions, and features that rely on embeddings, still require a GitHub account or Copilot support. - Usage for provider-backed BYOK models is billed directly by that provider and does not count against GitHub Copilot request quotas. @@ -45,7 +45,7 @@ There are a few important details to keep in mind: In other words, BYOK expands model choice in VS Code Chat, but it does not replace every Copilot-powered feature in the editor. -## Open the Language Models editor +## Configuring BYOK in the Language Models editor The easiest way to get started is through the **Language Models** editor. From 71b83a7d139b08b6ceeca3d6934fc6fd0cd781f3 Mon Sep 17 00:00:00 2001 From: Kayla Cinnamon Date: Wed, 10 Jun 2026 16:21:56 -0400 Subject: [PATCH 3/8] Fix more stuff --- blogs/2026/06/09/byok-vscode.md | 24 ++++++------------- .../2026/06/09/language-models-extensions.png | 3 +++ 2 files changed, 10 insertions(+), 17 deletions(-) create mode 100644 blogs/2026/06/09/language-models-extensions.png diff --git a/blogs/2026/06/09/byok-vscode.md b/blogs/2026/06/09/byok-vscode.md index 3167fcfac23..cf09260cc26 100644 --- a/blogs/2026/06/09/byok-vscode.md +++ b/blogs/2026/06/09/byok-vscode.md @@ -57,7 +57,7 @@ The Language Models editor shows the models available to you, grouped by provide This is also where you can keep the model picker focused. If you are testing several providers, you can hide models you do not use often and keep your day-to-day models easy to find. -## Add models from a built-in provider +## Adding models from a built-in provider If the provider you want is built into VS Code, setup is a few clicks. @@ -94,9 +94,9 @@ For example, an Azure OpenAI configuration can include a deployment name, endpoi ] ``` -The exact fields depend on the provider and model. The important part is that after the provider is configured, the model becomes available from the same picker you use for the rest of Chat. +The exact fields depend on the provider and model. The important part is that after the provider is configured, the model becomes available from the same picker you use for the rest of Chat. For more information, check out the docs: https://code.visualstudio.com/docs/agent-customization/language-models#_add-a-model-from-a-built-in-provider. -## Add models from extensions +## Adding models from extensions VS Code also supports language model provider extensions. These extensions can contribute models directly into the Language Models editor and Chat model picker. @@ -108,9 +108,11 @@ To find provider extensions: 4. Follow the extension's setup instructions. 5. Select the model from the Chat model picker. +![Extensions with language models](language-models-extensions.png) + This extensibility is a big part of the BYOK story. Instead of every provider needing to be hard-coded into VS Code, extensions can bring new model providers into the editor as the ecosystem evolves. -## Add a custom endpoint (VS Code Insiders) +## Adding a custom endpoint (VS Code Insiders) If you have a self-hosted, enterprise, or compatible API endpoint, you can add it with the **Custom Endpoint** provider. This feature is currently available in [VS Code Insiders](https://code.visualstudio.com/insiders/) only. @@ -127,7 +129,7 @@ The flow is similar to adding a built-in provider: If a model does not appear immediately, try reloading VS Code. -## Manage and reconfigure models +## Managing and reconfiguring models After you add a provider, you can return to the Language Models editor to update it. Select the gear icon next to a provider to change details such as the API key, endpoint, or model configuration. @@ -146,18 +148,6 @@ For everyday work, you might choose: - A local model when you want to experiment offline. - A provider-specific model when your team already has workflows around that provider. -## Troubleshooting - -If something does not show up as expected, start with the Language Models editor. It gives you the clearest view of what VS Code has configured. - -Common things to check: - -- Reload VS Code after adding or changing a provider. -- Confirm the model is visible in the Language Models editor. -- If a model is missing from the agent model picker, it likely does not support tool calling — VS Code automatically hides models without tool calling support when using agents. -- Double-check the endpoint URL, model ID, API type, and API key. -- For organization accounts, confirm BYOK is enabled in Copilot policy settings. - ## Try it out BYOK gives you more flexibility in VS Code without adding more tools to your workflow. You can keep using the built-in Copilot models, add models from providers you already use, experiment with local models, and choose the right model for each task from one place. diff --git a/blogs/2026/06/09/language-models-extensions.png b/blogs/2026/06/09/language-models-extensions.png new file mode 100644 index 00000000000..1841cae0366 --- /dev/null +++ b/blogs/2026/06/09/language-models-extensions.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eeabeec9055f3f03ce7998cd1716e1ddae2ae9453932d13655539204a67eaaf +size 98631 From 94ed9d4b8ec9840ab64622bffb7799c8e0175429 Mon Sep 17 00:00:00 2001 From: Kayla Cinnamon Date: Wed, 10 Jun 2026 16:37:54 -0400 Subject: [PATCH 4/8] Address remaining comments --- blogs/2026/06/09/byok-vscode.md | 28 ++++--------------- .../2026/06/09/reconfigure-model-provider.png | 3 -- 2 files changed, 5 insertions(+), 26 deletions(-) delete mode 100644 blogs/2026/06/09/reconfigure-model-provider.png diff --git a/blogs/2026/06/09/byok-vscode.md b/blogs/2026/06/09/byok-vscode.md index cf09260cc26..92f33090ec1 100644 --- a/blogs/2026/06/09/byok-vscode.md +++ b/blogs/2026/06/09/byok-vscode.md @@ -112,30 +112,9 @@ To find provider extensions: This extensibility is a big part of the BYOK story. Instead of every provider needing to be hard-coded into VS Code, extensions can bring new model providers into the editor as the ecosystem evolves. -## Adding a custom endpoint (VS Code Insiders) +## Leveraging utility models -If you have a self-hosted, enterprise, or compatible API endpoint, you can add it with the **Custom Endpoint** provider. This feature is currently available in [VS Code Insiders](https://code.visualstudio.com/insiders/) only. - -Custom Endpoint supports API types such as Chat Completions, Responses, and Messages. This is useful when your model is not available from a built-in provider but exposes an API that VS Code can call. - -The flow is similar to adding a built-in provider: - -1. Open **Chat: Manage Language Models**. -2. Select **Add Models**. -3. Choose **Custom Endpoint**. -4. Enter the group name, display name, API key, and API type. -5. Update the generated `chatLanguageModels.json` configuration with your model details. -6. Save the file and select the model in Chat. - -If a model does not appear immediately, try reloading VS Code. - -## Managing and reconfiguring models - -After you add a provider, you can return to the Language Models editor to update it. Select the gear icon next to a provider to change details such as the API key, endpoint, or model configuration. - -![Reconfiguring a model provider in the Language Models editor.](reconfigure-model-provider.png) - -You can also decide which models appear in the picker. I like this because it lets me experiment without turning the picker into a wall of model names. Keep the models you use every day visible, and hide the ones you only need occasionally. +VS Code also uses lightweight models in the background for small tasks like generating chat titles, commit messages, and rename suggestions. These default to built-in Copilot models and most users won't need to touch them. But if you're using BYOK without signing into a GitHub account, those defaults aren't available. VS Code will show a notification in the Chat view prompting you to configure them. Set `setting(chat.utilityModel)` and `setting(chat.utilitySmallModel)` to one of your BYOK models to keep those features working. A fast, inexpensive model works well here. ## Choosing the right model @@ -148,6 +127,9 @@ For everyday work, you might choose: - A local model when you want to experiment offline. - A provider-specific model when your team already has workflows around that provider. +Simply choose which model you want to use in the model picker below the Chat box. +![The VS Code Chat model picker showing available language models.](model-dropdown-change-model-v2.png) + ## Try it out BYOK gives you more flexibility in VS Code without adding more tools to your workflow. You can keep using the built-in Copilot models, add models from providers you already use, experiment with local models, and choose the right model for each task from one place. diff --git a/blogs/2026/06/09/reconfigure-model-provider.png b/blogs/2026/06/09/reconfigure-model-provider.png deleted file mode 100644 index 2e86929decd..00000000000 --- a/blogs/2026/06/09/reconfigure-model-provider.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:882f00e2b450da51cd5e7f3859c7c649410e0a3d0dd24b9cf00671337c720512 -size 55656 From 8bfcf438b46fb565c6163d5a11a6a07d4d6ee632 Mon Sep 17 00:00:00 2001 From: Kayla Cinnamon Date: Wed, 10 Jun 2026 16:48:43 -0400 Subject: [PATCH 5/8] Add in keynote bits --- blogs/2026/06/09/byok-vscode.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/blogs/2026/06/09/byok-vscode.md b/blogs/2026/06/09/byok-vscode.md index 92f33090ec1..c43b4ddf419 100644 --- a/blogs/2026/06/09/byok-vscode.md +++ b/blogs/2026/06/09/byok-vscode.md @@ -12,7 +12,9 @@ Author: Kayla Cinnamon June 9, 2026 by [Kayla Cinnamon](https://github.com/cinnamon-msft) -Model choice is moving fast, and we want to support flexibility. Sometimes you want the built-in models available through GitHub Copilot. Sometimes you want to try a new model from a provider your team already uses. Sometimes you want to experiment locally. VS Code allows you to do all of these workflows with bring your own language model key (BYOK) and bring your own local model. +At Microsoft Build this year, I had the opportunity to present in the opening keynote. One thing I showed was using local models inside VS Code on the new Surface RTX Spark Dev Box. Check out the [recording at 12:18](https://build.microsoft.com/sessions/KEY01). + +Using local models gives you even greater flexibility when working with agents. Sometimes you want the built-in models available through GitHub Copilot. Sometimes you want to try a new model from a provider your team already uses. Sometimes you want to experiment locally. VS Code allows you to do all of these workflows with bring your own language model key (BYOK) and bring your own local model. With BYOK in VS Code, you can add models from providers like Azure, Anthropic, Huggingface, Gemini, OpenAI, OpenRouter, or you can run a model locally with Ollama, Foundry Local, and more, then use them directly from the Chat model picker. @@ -45,7 +47,7 @@ There are a few important details to keep in mind: In other words, BYOK expands model choice in VS Code Chat, but it does not replace every Copilot-powered feature in the editor. -## Configuring BYOK in the Language Models editor +## Getting started with BYOK The easiest way to get started is through the **Language Models** editor. From 0ce99a175c712047c188680323f69ca693d222b5 Mon Sep 17 00:00:00 2001 From: Kayla Cinnamon Date: Wed, 10 Jun 2026 16:54:40 -0400 Subject: [PATCH 6/8] nits --- blogs/2026/06/09/byok-vscode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blogs/2026/06/09/byok-vscode.md b/blogs/2026/06/09/byok-vscode.md index c43b4ddf419..713a101de64 100644 --- a/blogs/2026/06/09/byok-vscode.md +++ b/blogs/2026/06/09/byok-vscode.md @@ -96,7 +96,7 @@ For example, an Azure OpenAI configuration can include a deployment name, endpoi ] ``` -The exact fields depend on the provider and model. The important part is that after the provider is configured, the model becomes available from the same picker you use for the rest of Chat. For more information, check out the docs: https://code.visualstudio.com/docs/agent-customization/language-models#_add-a-model-from-a-built-in-provider. +The exact fields depend on the provider and model. The important part is that after the provider is configured, the model becomes available from the same picker you use for the rest of Chat. For more information, check out the [docs](https://code.visualstudio.com/docs/agent-customization/language-models#_add-a-model-from-a-built-in-provider). ## Adding models from extensions From e90390ff3ea45ade73ebf161c5b1cdd8d86b545f Mon Sep 17 00:00:00 2001 From: Kayla Cinnamon Date: Thu, 11 Jun 2026 16:49:17 -0400 Subject: [PATCH 7/8] Small tweaks --- blogs/2026/06/09/byok-vscode.md | 6 ++++-- blogs/2026/06/09/chat-utility-model.png | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 blogs/2026/06/09/chat-utility-model.png diff --git a/blogs/2026/06/09/byok-vscode.md b/blogs/2026/06/09/byok-vscode.md index 713a101de64..04a6809f48a 100644 --- a/blogs/2026/06/09/byok-vscode.md +++ b/blogs/2026/06/09/byok-vscode.md @@ -12,7 +12,7 @@ Author: Kayla Cinnamon June 9, 2026 by [Kayla Cinnamon](https://github.com/cinnamon-msft) -At Microsoft Build this year, I had the opportunity to present in the opening keynote. One thing I showed was using local models inside VS Code on the new Surface RTX Spark Dev Box. Check out the [recording at 12:18](https://build.microsoft.com/sessions/KEY01). +At Microsoft Build this year, I had the opportunity to present in the opening keynote. One thing I showed was using local models inside VS Code on the new Surface RTX Spark Dev Box. My model was periodically analyzing my log files and giving me summaries, so I could easily diagnose issues without having to look through the logs myself. Check out the [recording at 12:18](https://build.microsoft.com/sessions/KEY01). Using local models gives you even greater flexibility when working with agents. Sometimes you want the built-in models available through GitHub Copilot. Sometimes you want to try a new model from a provider your team already uses. Sometimes you want to experiment locally. VS Code allows you to do all of these workflows with bring your own language model key (BYOK) and bring your own local model. @@ -39,7 +39,7 @@ BYOK models are available for VS Code chat experiences, including agent workflow There are a few important details to keep in mind: -- BYOK models work without signing into a GitHub account and **without** a Copilot plan. You can add and use models entirely with your own API keys, including fully **offline scenarios with local models**. +- BYOK models work **without** signing into a GitHub account and **without** a Copilot plan. You can add and use models entirely with your own API keys, including fully **offline scenarios with local models**. - BYOK applies to chat and utility tasks, not standard code completions. - Some AI features, such as semantic search, inline suggestions, and features that rely on embeddings, still require a GitHub account or Copilot support. - Usage for provider-backed BYOK models is billed directly by that provider and does not count against GitHub Copilot request quotas. @@ -118,6 +118,8 @@ This extensibility is a big part of the BYOK story. Instead of every provider ne VS Code also uses lightweight models in the background for small tasks like generating chat titles, commit messages, and rename suggestions. These default to built-in Copilot models and most users won't need to touch them. But if you're using BYOK without signing into a GitHub account, those defaults aren't available. VS Code will show a notification in the Chat view prompting you to configure them. Set `setting(chat.utilityModel)` and `setting(chat.utilitySmallModel)` to one of your BYOK models to keep those features working. A fast, inexpensive model works well here. +![Settings for Chat Utility Model](chat-utility-model.png) + ## Choosing the right model One of the best parts of BYOK is that you do not have to use one model for everything. diff --git a/blogs/2026/06/09/chat-utility-model.png b/blogs/2026/06/09/chat-utility-model.png new file mode 100644 index 00000000000..a416510351b --- /dev/null +++ b/blogs/2026/06/09/chat-utility-model.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d60ef3baa55ae6957c2500c703dca6f62da3dbc7da451aeb5ad4a6504c5f563 +size 77727 From cb517ac5d744554428ffce0058e71ecb05dd3b12 Mon Sep 17 00:00:00 2001 From: Kayla Cinnamon Date: Thu, 11 Jun 2026 17:36:46 -0400 Subject: [PATCH 8/8] Swap Azure example for Mistral --- blogs/2026/06/09/byok-vscode.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/blogs/2026/06/09/byok-vscode.md b/blogs/2026/06/09/byok-vscode.md index 04a6809f48a..306659ce716 100644 --- a/blogs/2026/06/09/byok-vscode.md +++ b/blogs/2026/06/09/byok-vscode.md @@ -74,22 +74,24 @@ If the provider you want is built into VS Code, setup is a few clicks. Depending on the provider, VS Code might open a `chatLanguageModels.json` file so you can finish configuring model details. -For example, an Azure OpenAI configuration can include a deployment name, endpoint URL, and capability information: +For example, a Mistral configuration specifies the endpoint URL, API type, and model capabilities: ```json [ { - "name": "Azure", - "vendor": "azure", + "name": "Mistral", + "vendor": "customendpoint", + "apiKey": "", + "apiType": "chat-completions", "models": [ { - "id": "", - "name": "GPT-5.5", - "url": "https://.openai.azure.com", + "id": "mistral-medium-latest", + "name": "mistral medium", + "url": "https://api.mistral.ai/v1/chat/completions", "toolCalling": true, "vision": true, - "maxInputTokens": 200000, - "maxOutputTokens": 64000 + "maxInputTokens": 256000, + "maxOutputTokens": 16000 } ] }