Copilot Language model unavailable 怎么办:先分清网络还是账号
Copilot 报 Language model unavailable 是没拿到默认模型。先查 GitHub Status,再看日志里那一行,按网络、账号或版本处理。
文章目录

在 VS Code 的 Copilot Chat 里发消息,只得到一句 Language model unavailable,意思是 VS Code 没有拿到任何可用的 Copilot 默认模型,这条消息也就无处可发。这句话本身不说明原因。截至 2026 年 11 月 4 日的 VS Code 源码里,它是"取不到默认模型"时直接抛出的一行英文,没有经过翻译,所以中文界面里看到的也是这句原文。模型为什么取不到,要看 Copilot 自己的日志。
所以先做三件事:打开 GitHub Status 状态页看 Copilot 有没有故障;在命令面板执行 Developer: Reload Window 重载窗口;还不行,就打开输出面板里的 "GitHub Copilot Chat" 通道,找以 Failed to fetch models 开头的那一行。行里是超时、连接被拒或证书错误,问题在网络和代理;是 403 或 "not licensed",去 GitHub 的 Copilot 设置页核对计划和登录的账号;VS Code 比最新版落后几个月的,先升级到最新稳定版(截至 11 月 4 日是 1.145.0)。
有两种情况不是自己能修的。GitHub 宕机只能等它恢复后重载窗口;公司网络按订阅只放行公司计划的域名时,个人账号的请求会被故意挡掉,需要请 IT 放行 *.individual.githubcopilot.com,或者改用公司分配的席位。等待期间想继续对话,可以在 VS Code 里接入自己的 API key(BYOK),它不依赖 Copilot 计划,但代码补全等功能仍然要 GitHub 账号。
Language model unavailable 是什么意思:VS Code 没拿到 Copilot 默认模型
这句报错是一个症状:VS Code 处理聊天请求时,如果你没有在模型选择器里明确选过某个模型,就去取 Copilot 提供的默认模型,取不到就抛出 Language model unavailable。这段逻辑在 VS Code 源码 extHostLanguageModels.ts 的 getLanguageModelForRequest() 里,2026 年 11 月 4 日的 main 分支仍是这样写的。模型列表由 Copilot Chat 扩展登录后向 GitHub 拉取,网络不通、账号没有可用计划、客户端版本太旧,最后都会落到"列表是空的"这一步,所以同一句话背后有好几类原因。
列表为空时常见的伴随现象是模型选择器空白,或者只剩一个 "Auto"。在开发者工具里还可能看到 No auto mode endpoints provided.,这是 Auto 模式找不到任何可用端点时抛出的错误(源码 automodeService.ts)。2026 年 1 月 vscode issue #253137 里就有用户同时看到它和 Language model unavailable,模型选择器只剩 Auto;两者都说明可用模型列表是空的,排查方向相同。
另一句容易混淆的报错是 "The selected model '…' is not available. Select a different model and try again."。它从 VS Code 1.141.0(2026 年 10 月 7 日发布)开始出现,意思是你明确选过的那个模型找不到了,其他模型未必有问题,换一个模型或切回 Auto 再发即可;在 1.141.0 之前,这种情况会悄悄退回 Auto。这句提示做了本地化,界面语言有译文时会显示译文,Language model unavailable 则始终是英文;两句的意思一个是"选定的模型没了",一个是"默认模型整体没拿到",后者才需要往下排查。
先看三处证据:GitHub Status、Copilot Chat 日志和 Chat Diagnostics
几分钟能看完的证据有三处,分别回答 GitHub 有没有出故障、Copilot 拉模型列表时收到了什么错误、VS Code 到各个 Copilot 地址的连接是否正常。按下面的顺序看,前一步有结论就不必往下做。
- 打开 GitHub Status,看 "Copilot" 和 "Copilot AI Model Providers" 两项。有进行中的事故,就等恢复后重载窗口;2026 年 1 月 13 日和 8 月 17 日都出现过这种情况,恢复后重载或重启 VS Code 即可。
- 按
Ctrl+Shift+P(macOS 为Cmd+Shift+P)打开命令面板,执行Developer: Reload Window,再发一次消息。Copilot Chat 默认最多每 10 分钟刷新一次模型列表,窗口不在前台时还不刷新,所以之后每处理完一项都直接重载,比等它自己恢复快。 - 执行
Developer: Set Log Level,把 GitHub Copilot 和 GitHub Copilot Chat 两个扩展设为Trace,再重载窗口并复现一次报错。 - 执行
Output: Show Output Channels,选 "GitHub Copilot Chat",在报错时间附近找Failed to fetch models、403、ERR_开头的行。看完把日志级别改回原来的设置。 - 在命令面板里搜 "Chat Diagnostics" 并运行,诊断报告会在编辑器里打开。不同版本的前缀写作 "GitHub Copilot:" 或 "Developer:",搜英文名都能找到。
如果第 4 步看到的是 "Error fetching models! It appears that GitHub is experiencing an outage",说明 Copilot 扩展自己查到了 GitHub 状态异常,回到第 1 步等恢复就行。日志和诊断报告可能含有代码、文件路径和提示词,贴到 GitHub issue 或论坛之前先删掉敏感内容。
Language model unavailable 原因对照表:按日志判断属于哪一类
拿到日志和诊断报告后,用"看到了什么"对应原因。前三行是网络层,第四、五行是账号和版本,最后两行只在日志里出现那句特定报错时才考虑。
| 你看到的 | 说明什么 | 怎么办 |
|---|---|---|
| Status 页有 Copilot 事故,或日志写着 "GitHub is experiencing an outage" | GitHub 侧故障 | 等恢复后执行 Developer: Reload Window |
Failed to fetch models 后面是超时、ENETUNREACH、连接被拒,或诊断报告里某个地址失败 | VS Code 到 Copilot 地址的网络不通 | 按下一节用 curl 测连通性;开着代理的再核对 Proxy URL |
| 证书无法验证,或证书签发者是公司、安全软件的名字 | 公司代理或安全软件解密了 HTTPS | 把它的根证书加入系统信任,不要关闭证书校验 |
公司网络里 api.github.com 正常、*.individual.githubcopilot.com 失败,换手机热点就好 | 公司只放行公司计划的 Copilot 域名 | 用公司席位,或请 IT 放行个人计划域名 |
| 403、"not licensed to use Copilot",模型选择器卡在 "Local",或试用刚到期 | 当前登录的账号没有可用的 Copilot 计划 | 去 Copilot 设置页看计划,退出后用正确账号重登 |
| 关于窗口里的 VS Code 版本比最新稳定版落后好几个月 | 新版 Copilot Chat 只兼容最新 VS Code | 升级到最新稳定版后重载 |
ERR_CONNECTION_REFUSED 指向本机端口,或 unable to validate HMAC | 设置里残留了改写 Copilot 地址的调试项 | 删除 overrideProxyUrl、overrideCapiUrl 两项后重载 |
TypeError: e is not iterable | Copilot Chat 读取其他 AI 工具的技能目录时出错 | 暂时给那两个技能目录改名 |

Copilot 额度用完一般不会表现为这句话。限速有自己的报错 "You've hit a rate limit",月度 AI credits 的余量在状态栏的 Copilot 面板里能看到;源码里遇到 429 限速且本地已有缓存的模型列表时,只记一条警告、照常使用缓存;只有没有缓存时,429 才会让模型列表拉取失败。
网络能不能到 Copilot:用 curl 测 4 个地址
能连通时,下面 4 个地址都会在一两秒内返回 401、200 或 400。未登录访问拿到 401 和 400 是正常的,说明请求已经到了 GitHub 的服务器;只有超时、连接被拒、证书错误,才说明网络层有问题。
-
在终端里运行下面的命令(Windows 在 PowerShell 里把
curl换成curl.exe):curl -sS -w "\n%{http_code} %{time_total}s\n" https://api.github.com/copilot_internal/v2/token curl -sS -w "\n%{http_code} %{time_total}s\n" https://api.individual.githubcopilot.com/_ping curl -sS -w "\n%{http_code} %{time_total}s\n" https://api.individual.githubcopilot.com/models curl -sS -w "\n%{http_code} %{time_total}s\n" https://copilot-proxy.githubusercontent.com/_ping -
对照下表的返回。用的是 Business 或 Enterprise 计划,把第二、三条里的
individual换成business或enterprise。地址 能连通时的返回 api.github.com/copilot_internal/v2/token401,正文 "message": "Requires authentication"api.individual.githubcopilot.com/_ping200,正文 OKapi.individual.githubcopilot.com/models400, missing required Authorization headercopilot-proxy.githubusercontent.com/_ping200,正文含 "status":"ok" -
检查证书签发者,确认 HTTPS 没有被中间人替换(macOS、Linux 或装了 OpenSSL 的 Windows):
echo | openssl s_client -connect api.individual.githubcopilot.com:443 -servername api.individual.githubcopilot.com 2>/dev/null | openssl x509 -noout -issuer截至 2026 年 11 月 4 日,正常的签发者是
Sectigo Limited。显示的是公司、防火墙或安全软件的名字,就是被解密替换过的证书。openssl 不读 HTTP 代理设置,只开了系统代理的电脑上这条连不上时,跳过这一步即可,不代表证书有问题。
上面的期望结果来自 2026 年 11 月 4 日在一台 macOS 电脑上用 curl 8.7.1 做的测试。那台电脑经本地代理上网,DNS 是代理软件的 fake-IP 模式,4 个地址都按上表返回,每个请求耗时约 0.84 到 1.13 秒;加 --noproxy '*' 让 curl 不读代理环境变量,结果也相同,但域名仍解析到 198.18.x.x 网段,流量仍由代理软件的 TUN 接管,所以这不等于不经代理的直连测试。198.18.x.x 是 TUN 模式的 fake-IP 地址,本身不是故障。当时 GitHub Status 上 Copilot 和 Copilot AI Model Providers 都是正常状态。这只是一台机器、一个网络、一个时间点的结果,用来对照"通的时候长什么样";curl 失败时常见的是 timed out、Failed to connect 或 SSL certificate problem。
curl 全部通过,也不等于 VS Code 通了,因为两者读取代理的方式不同,下一节说怎么核对。
开着代理时 curl 通、Copilot 不通:看诊断报告的 Proxy URL
终端里的 curl 和 VS Code 可能走的不是同一条路。curl 读 HTTPS_PROXY、ALL_PROXY 这类环境变量;VS Code 基于 Chromium 的网络栈,按 VS Code 网络配置文档的说法会自动读取系统代理设置。如果代理软件只在终端里设了环境变量、没开"系统代理",就可能出现 curl 能通、Copilot 不通。这是从两边读取代理的方式推出来的,不是必然,要用诊断报告核对。
核对用的是 Chat Diagnostics 报告。报告里每个 Copilot 地址下面都有一组固定的行,下面是 2026 年 4 月 vscode issue #309766 里一位用户贴出的片段:
Connecting to https://api.individual.githubcopilot.com/_ping:
- DNS ipv4 Lookup: 140.82.114.21 (9 ms)
- DNS ipv6 Lookup: Error (10 ms): getaddrinfo ENOTFOUND api.individual.githubcopilot.com
- Proxy URL: None (19 ms)
- Electron fetch (configured): HTTP 200 (114 ms)
- Node.js https: HTTP 200 (365 ms)
- Node.js fetch: HTTP 200 (361 ms)Proxy URL 一行显示的是 Copilot 实际用上的代理:None 表示这次没有经过代理、直接连接;显示你代理软件的本地地址和端口,说明走了代理。下面 Electron fetch、Node.js https、Node.js fetch 三行是三种请求方式的结果,全部超时就是这条路不通;像这份报告一样都返回 HTTP 200,网络这一层就没问题,IPv6 查不到也不影响。报告者后来自己判断,原因是当时 Copilot Pro 试用被暂停,属于账号一类。VS Code 文档也提醒,报告全部通过只能排除报告覆盖到的那些连接,问题还在时要继续看输出日志。

处理办法是让 VS Code 和终端走同一条路:在代理软件里打开系统代理,或者改用 TUN 模式接管全部流量,开 TUN 后域名解析到 198.18.x.x 是正常现象。也可以用启动参数指定代理,例如 code --proxy-server=http://代理地址:端口,端口填代理软件里显示的 HTTP 端口。改完重载窗口,再跑一次 Chat Diagnostics,确认 Proxy URL 和状态码都变了。设置里的 http.proxy 仍然保留,但文档说明它主要给还没接入新代理机制的扩展使用。
如果代理软件或公司网关会解密 HTTPS,正确做法是把它的根证书加入系统的受信任证书;Linux 还要导入 Chromium 用的 NSS 数据库,命令是 certutil -A -n "ProxyCA" -t "CT,," -i 证书文件 -d sql:$HOME/.pki/nssdb。不要用 "http.proxyStrictSSL": false 或 --ignore-certificate-errors 来"修",VS Code 文档把后者明确标为危险、不推荐,关掉校验等于放弃识别中间人。
公司网络里个人账号用不了:请 IT 放行对应计划的域名
在公司网络里用个人 Copilot 报错、换手机热点就正常,多半是公司按订阅放行了 Copilot 域名。GitHub 允许企业开启"基于订阅的网络路由",只放行自己计划的域名(*.business.githubcopilot.com 或 *.enterprise.githubcopilot.com),员工的个人账号请求发往 *.individual.githubcopilot.com,就会被故意挡在外面。这不是 bug,你能做的是改用公司分配的 Copilot 席位登录,或者请 IT 评估是否放行个人计划的域名。
给 IT 提需求时,直接附上 GitHub 的 Copilot 网络放行清单,所有计划都需要的地址是这几个:
https://github.com/login/*
https://api.github.com/user
https://api.github.com/copilot_internal/*
https://copilot-proxy.githubusercontent.com
https://origin-tracker.githubusercontent.com
https://copilot-telemetry.githubusercontent.com/telemetry
https://default.exp-tas.com此外再按计划放行一个通配域名:个人计划是 *.individual.githubcopilot.com,Business 是 *.business.githubcopilot.com,Enterprise 是 *.enterprise.githubcopilot.com。
VS Code 维护者在 vscode issue #253137 里诊断过几种公司网络的典型情况:只有 githubcopilot.com 报 ENETUNREACH、github.com 正常,是防火墙或透明代理拦了这个域名;api.individual.githubcopilot.com 的证书验证失败、根证书来自企业中间人代理,需要网络管理员处理。在 Windows 的 WSL2 里用 VS Code、默认 NAT 网络又有 IPv6 问题时,维护者给过的办法是改用 mirrored 网络模式或关闭 IPv6。
试用到期、not licensed 或登错账号:先看 Copilot 设置页
网络检查都通过、日志里却是 403 或 "not licensed to use Copilot",问题在账号这一侧。打开 GitHub 的 Copilot 设置页,确认当前 GitHub 账号有有效的 Copilot 计划(Free、Student、Pro、Pro+、Max、Business、Enterprise 等)。VS Code 里登录的必须是持有这个计划的账号,同一个人有个人和公司两个 GitHub 账号时,最容易在这里出错。
试用账号要特别看一眼。GitHub 在 2026 年 4 月 10 日的更新日志里暂停了新的 Copilot Pro 试用,4 月 13 日扩大为所有 Pro 试用(含进行中的)都暂停,试用用户可以改用 Copilot Free 或升级到 Pro、Pro+。那几天大量试用用户同时报 Language model unavailable,有人在计费页点 "Start paid subscription" 后恢复,也有人无效。另有一位中文用户在 issue #253137 里说,自己付费的 Pro 被识别成过期试用,取消订阅后重新订阅解决。试用现在能不能开,以你账号设置页和计费页当时的显示为准。
组织席位的情况更分散:有人在公司从 Business 迁到 Enterprise 后出现这个报错,有人发现 VS Code 静默登录的是公司账号而不是自己的个人账号。确认账号不对,或者计划刚改过,按 GitHub 的 Copilot 常见问题排查文档给的方式重新登录:
- 点 VS Code 左下角活动栏里的账号(Accounts)图标。
- 把鼠标移到当前 GitHub 用户名上,选 "Sign out"。
- 按
F1执行Developer: Reload Window。 - 按提示用持有 Copilot 计划的账号重新登录,再发一条消息试。
VS Code 版本落后:新版 Copilot Chat 只兼容最新 VS Code
GitHub 文档写明,每个新版本的 Copilot Chat 只兼容最新发布的 VS Code,旧客户端可能无法和 Copilot 服务器通信。VS Code 现在基本每周发一版,截至 2026 年 11 月 4 日的最新稳定版是当天发布的 1.145.0,而 2026 年 8 月到 11 月里不少报这个错误的 issue,附带的版本还是 1.106 到 1.109(2025 年 11 月至 2026 年 2 月发布)。所以只要版本落后几个月,先升级再查别的。
升级入口在菜单的 Help → Check for Updates(macOS 在 Code → Check for Updates),装完重启,并确认 Copilot Chat 扩展也更新到最新。社区里两种结果都有:有用户手动检查更新后两台电脑都恢复了;也有人反过来降级到 1.107.1 才恢复。如果你是升级当天才开始报错,先去 issue #253137 看有没有同一版本的报告,再决定是否回退。
残留 overrideProxyUrl 和 e is not iterable:两种少见情况
用过本地中转或代理工具改写 Copilot 请求地址的人,要检查用户设置里有没有 github.copilot.advanced.debug.overrideProxyUrl 和 github.copilot.advanced.debug.overrideCapiUrl。这两项是 Copilot 扩展的调试设置,会把请求改发到你指定的地址。2026 年 9 月有用户在 issue #253137 里报告,两项设置还指向本机的 8788 端口,而那个本地服务早已不在,于是日志里出现 net::ERR_CONNECTION_REFUSED 和 401 unauthorized: unable to validate HMAC for the given Copilot-Integration-ID;删除两项并重载窗口后恢复。
同时装了 Claude Code 或其他智能体工具的,留意日志里有没有 TypeError: e is not iterable。2026 年 3 月 GitHub 社区讨论 #188977 的提问者用的是 VS Code 1.110.1,Copilot CLI 正常、VS Code 里报 Language model unavailable;原因是 Copilot Chat 启动时会扫描 ~/.claude/skills 和 ~/.agents/skills,里面其他工具生成的技能文件有重名或格式不受支持,把这两个目录改名后就恢复了。这是单个报告,当前版本是否还会因此失败没有公开说明,只在日志对得上时才值得试。
Copilot 暂时修不好:用 BYOK 接自己的模型继续对话
GitHub 宕机、等 IT 放行或者账号还在处理时,可以先用 BYOK(Bring Your Own Key,自带模型密钥)在 VS Code 里继续对话。按 VS Code 语言模型文档,在本地(Local)会话里,BYOK 模型不需要登录 GitHub、也不需要 Copilot 计划;它是用你自己的 key 接你自己选的模型,和 Copilot 订阅无关,不是免费用 Copilot 的办法。限制也要先知道:语义搜索、代码补全和依赖 embeddings 的功能仍然需要 GitHub 账号;不登录时内置的辅助模型不可用,要把 chat.utilityModel 和 chat.utilitySmallModel 也设成 BYOK 模型;Business、Enterprise 的管理员可以关掉 BYOK。
接入 OpenAI 兼容地址用的是 Custom Endpoint(旧的 OpenAI Compatible 方式和 github.copilot.chat.customOAIModels 设置已弃用):在命令面板执行 Chat: Manage Language Models,选 "Add Models",再选 "Custom Endpoint",填分组名、显示名和 API key,API 类型选 "Chat Completions",VS Code 会打开 chatLanguageModels.json 让你写模型信息。下面是一个最小配置,url 换成你所用服务的地址,可以是 OpenAI、Anthropic 的官方接口、本地模型,或者 laozhang.ai 这类 OpenAI 兼容地址(https://api.laozhang.ai/v1):
说明:laozhang.ai 是我们自己的服务,其价格是平台报价,不是独立比较的结论。
[
{
"name": "My Endpoint",
"vendor": "customendpoint",
"apiKey": "${input:myApiKey}",
"apiType": "chat-completions",
"models": [
{
"id": "gpt-5.4-mini",
"name": "gpt-5.4-mini",
"url": "https://api.laozhang.ai/v1/chat/completions",
"toolCalling": true
}
]
}
]maxInputTokens 和 maxOutputTokens 按服务商公布的上下文窗口补上,两者之和不能超过模型的上下文窗口;保存后模型没出现在选择器里,就重启 VS Code。2026 年 11 月 4 日用上面这个地址和 gpt-5.4-mini 做过两次接口调用:普通请求返回 200,约 4 秒;带工具定义的流式请求返回 200,按 Chat Completions 格式正确给出了 read_file 工具调用和参数,以 [DONE] 结束。这只验证了接口按规范应答,没有在 VS Code 里实际接入测试。还没选好用哪家 API,可以看免费 AI API 推荐:国内外平台怎么选,额度用完会怎样。
Copilot Language model unavailable 的其他问题
在中国大陆能用 GitHub Copilot 吗?
截至 2026 年 11 月 4 日,GitHub 贸易管制政策页列出的 Copilot 不可销售地区是古巴、伊朗、朝鲜、俄罗斯、白俄罗斯和乌克兰的部分地区,中国大陆不在其中,所以国内看到 Language model unavailable,应按网络连通和账号计划排查,而不是怀疑地区授权。
重装 Copilot 扩展、重启电脑有用吗?
偶尔有用,但不该排在前面。2026 年 8 月 17 日 GitHub 出故障那次,有用户只在重启整台电脑后恢复;也有人在 "Manage Models" 里发现模型列表是空的,重新添加模型后恢复。先按上面的顺序看日志,日志里没有任何报错时,再试重启和重装。
VS Code 里用不了的其实是 Claude Code?
那是 Anthropic 的另一个扩展,报错和排查路径不同,看 Claude Code 在 VS Code 里用不了?先定位失败表面。
参考来源12
本文引用的外部页面,按正文出现顺序排列。最后更新于 2026年11月4日。
参考来源12
本文引用的外部页面,按正文出现顺序排列。最后更新于 2026年11月4日。
- 1.GitHub Status 状态页githubstatus.com
- 2.GitHub 的 Copilot 设置页github.com/settings/copilot
- 3.VS Code 源码 extHostLanguageModels.tsgithub.com/microsoft/vscode/blob/main/src/vs/workbench/api/common/extHostLanguageModels.ts
- 4.VS Code 网络配置文档code.visualstudio.com/docs/setup/network
- 5.vscode issue #309766github.com/microsoft/vscode/issues/309766
- 6.GitHub 的 Copilot 网络放行清单docs.github.com/en/copilot/reference/copilot-allowlist-reference
- 7.vscode issue #253137github.com/microsoft/vscode/issues/253137
- 8.2026 年 4 月 10 日的更新日志github.blog/changelog/2026-04-10-pausing-new-github-copilot-pro-trials
- 9.GitHub 的 Copilot 常见问题排查文档docs.github.com/en/copilot/how-tos/troubleshoot-copilot/troubleshoot-common-issues
- 10.GitHub 社区讨论 #188977github.com/orgs/community/discussions/188977
- 11.VS Code 语言模型文档code.visualstudio.com/docs/agent-customization/language-models
- 12.GitHub 贸易管制政策页docs.github.com/en/site-policy/other-site-policies/github-and-trade-controls





