You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Selecting DeepSeek V4 Pro or DeepSeek V4 Flash in the Copilot Chat model picker only controls the main chat/agent model request.
VS Code and GitHub Copilot still have several internal routes, such as utility models, inline chat, Plan/Explore agents, title/summary generation, risk assessment, semantic/search helpers, embeddings, and other helper calls. Some of these routes may still use GitHub Copilot built-in models or require Copilot subscription capabilities.
This is a VS Code / Copilot Chat routing limitation. The extension can only handle requests that VS Code sends to the deepseek language model provider.
Important
There are two different costs to think about here.
If you leave chat.utilityModel / chat.utilitySmallModel unset, some Copilot internal helper requests may continue to use Copilot built-in utility models or Copilot credits.
If you set chat.utilityModel / chat.utilitySmallModel to DeepSeek, those helper requests may use your DeepSeek API key instead. These requests can include title generation, progress messages, prompt categorization, todo tracking, commit messages, summaries, search/ranking helpers, and similar small tasks.
Many of these helper requests are independent from each other and usually cannot reuse the same prefix cache as the main agent conversation. This means Flash traffic can still produce a high cache-miss rate and visible API cost during intensive coding sessions, even though deepseek-v4-flash is cheaper than deepseek-v4-pro.
This workaround is therefore a tradeoff, not a free switch. Please monitor both Copilot usage and DeepSeek API usage after changing these settings.
Workaround: reduce common Copilot model routes
If you want the common chat / inline / Plan / Explore / utility routes to use DeepSeek as much as possible, try adding this to your VS Code settings:
{
"chat.utilityModel": "deepseek/deepseek-v4-flash",
"chat.utilitySmallModel": "deepseek/deepseek-v4-flash",
"inlineChat.defaultModel": "DeepSeek V4 Pro (deepseek)",
"chat.planAgent.defaultModel": "DeepSeek V4 Pro (deepseek)",
"chat.exploreAgent.defaultModel": "DeepSeek V4 Pro (deepseek)",
"github.copilot.chat.askAgent.model": "DeepSeek V4 Pro (deepseek)",
"github.copilot.chat.implementAgent.model": "DeepSeek V4 Pro (deepseek)",
"github.copilot.chat.exploreAgent.model": "DeepSeek V4 Pro (deepseek)"
}
Notes:
chat.utilityModel and chat.utilitySmallModel use the vendor/id format, for example deepseek/deepseek-v4-flash.
Agent/default model settings use the qualified display name format, for example DeepSeek V4 Pro (deepseek).
This workaround reduces common Copilot-model routes, but it does not guarantee zero Copilot credit usage.
It may increase DeepSeek API usage because Copilot utility/helper traffic is now routed to DeepSeek.
Alternative: avoid DeepSeek utility/helper cost
If you do not want Copilot internal utility/helper requests to use your DeepSeek API key, remove these settings or set them back to the default value:
The tradeoff is that VS Code / Copilot may then use Copilot built-in utility models or Copilot credits for some internal tasks.
Ongoing mitigation
The extension is trying to reduce unnecessary DeepSeek token usage where it can. For example, low-risk helper requests are being routed with reasoning_effort: none where possible. See #147 for the current discussion.
I am also investigating whether these helper requests can be classified in a way that makes prefix-cache reuse more stable, but this is still early and may require changes or cooperation from the VS Code / Copilot side.
If you need to avoid all Copilot model credits
The most conservative option is to sign out of GitHub Copilot in VS Code and continue using the DeepSeek models provided by this extension.
However, some Copilot/VS Code features may degrade or become unavailable when Copilot is signed out, especially features that still depend on Copilot tokens, embeddings, or Copilot-only internal services.
Image input
If image recognition is involved, use:
DeepSeek: Configure Vision Proxy
Then choose API Endpoint and configure your own vision endpoint. In that mode, image recognition uses your configured endpoint instead of Copilot built-in vision models.
Please comment here if you still see Copilot built-in model usage after applying the workaround, or if DeepSeek Flash utility traffic is producing unexpectedly high cost. Logs and screenshots are helpful, especially the exact VS Code version, extension version, selected model, DeepSeek usage breakdown, and relevant settings.
Summary
Selecting
DeepSeek V4 ProorDeepSeek V4 Flashin the Copilot Chat model picker only controls the main chat/agent model request.VS Code and GitHub Copilot still have several internal routes, such as utility models, inline chat, Plan/Explore agents, title/summary generation, risk assessment, semantic/search helpers, embeddings, and other helper calls. Some of these routes may still use GitHub Copilot built-in models or require Copilot subscription capabilities.
This is a VS Code / Copilot Chat routing limitation. The extension can only handle requests that VS Code sends to the
deepseeklanguage model provider.Important
There are two different costs to think about here.
If you leave
chat.utilityModel/chat.utilitySmallModelunset, some Copilot internal helper requests may continue to use Copilot built-in utility models or Copilot credits.If you set
chat.utilityModel/chat.utilitySmallModelto DeepSeek, those helper requests may use your DeepSeek API key instead. These requests can include title generation, progress messages, prompt categorization, todo tracking, commit messages, summaries, search/ranking helpers, and similar small tasks.Many of these helper requests are independent from each other and usually cannot reuse the same prefix cache as the main agent conversation. This means Flash traffic can still produce a high cache-miss rate and visible API cost during intensive coding sessions, even though
deepseek-v4-flashis cheaper thandeepseek-v4-pro.This workaround is therefore a tradeoff, not a free switch. Please monitor both Copilot usage and DeepSeek API usage after changing these settings.
Workaround: reduce common Copilot model routes
If you want the common chat / inline / Plan / Explore / utility routes to use DeepSeek as much as possible, try adding this to your VS Code settings:
{ "chat.utilityModel": "deepseek/deepseek-v4-flash", "chat.utilitySmallModel": "deepseek/deepseek-v4-flash", "inlineChat.defaultModel": "DeepSeek V4 Pro (deepseek)", "chat.planAgent.defaultModel": "DeepSeek V4 Pro (deepseek)", "chat.exploreAgent.defaultModel": "DeepSeek V4 Pro (deepseek)", "github.copilot.chat.askAgent.model": "DeepSeek V4 Pro (deepseek)", "github.copilot.chat.implementAgent.model": "DeepSeek V4 Pro (deepseek)", "github.copilot.chat.exploreAgent.model": "DeepSeek V4 Pro (deepseek)" }Notes:
chat.utilityModelandchat.utilitySmallModeluse thevendor/idformat, for exampledeepseek/deepseek-v4-flash.DeepSeek V4 Pro (deepseek).Alternative: avoid DeepSeek utility/helper cost
If you do not want Copilot internal utility/helper requests to use your DeepSeek API key, remove these settings or set them back to the default value:
{ "chat.utilityModel": "", "chat.utilitySmallModel": "" }The tradeoff is that VS Code / Copilot may then use Copilot built-in utility models or Copilot credits for some internal tasks.
Ongoing mitigation
The extension is trying to reduce unnecessary DeepSeek token usage where it can. For example, low-risk helper requests are being routed with
reasoning_effort: nonewhere possible. See #147 for the current discussion.I am also investigating whether these helper requests can be classified in a way that makes prefix-cache reuse more stable, but this is still early and may require changes or cooperation from the VS Code / Copilot side.
If you need to avoid all Copilot model credits
The most conservative option is to sign out of GitHub Copilot in VS Code and continue using the DeepSeek models provided by this extension.
However, some Copilot/VS Code features may degrade or become unavailable when Copilot is signed out, especially features that still depend on Copilot tokens, embeddings, or Copilot-only internal services.
Image input
If image recognition is involved, use:
DeepSeek: Configure Vision ProxyThen choose
API Endpointand configure your own vision endpoint. In that mode, image recognition uses your configured endpoint instead of Copilot built-in vision models.Please comment here if you still see Copilot built-in model usage after applying the workaround, or if DeepSeek Flash utility traffic is producing unexpectedly high cost. Logs and screenshots are helpful, especially the exact VS Code version, extension version, selected model, DeepSeek usage breakdown, and relevant settings.