Default model choice fails when org policy loads model list after copilot load
还没有人认领这个 Issue。
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 6
描述
Describe the bug
What's happening: ┃
┃
• Your user default is correctly saved ( ~/.copilot/settings.json → "model": "GPT-5.6 Sol" ). ┃
• At session startup, the resolver checks GPT-5.6-Sol against the model catalog it has at that instant — only ~150-400ms after auth completes — and doesn't find it ┃
available yet, so it silently falls back to claude-sonnet-5 . ┃
• This happens before any managed/org policy is even involved (the policy log lines only cover telemetry/bypass permissions, not model allowlists) — so it's not an org ┃
restriction blocking the model. ┃
• The UI briefly shows "Sol" (from your saved default) before the resolver's fallback takes effect and the display corrects to Sonnet — matching exactly what you saw. ┃
┃
This looks like a timing/race condition: the model entitlement/catalog fetch for GPT-5.6-Sol on your account hasn't completed (or propagated) by the time the session binds ┃
its model, so it can't find it in the "available" list yet.
Affected version
No response
Steps to reproduce the behavior
in org with policy-configured model list, slect a policy-avaiable model (not default available model) as default via /config or /settings, then restart copilot, it will show the new model briefly, before defautling back to a differnet model
Expected behavior
expect it to respect the configured default model.
Additional context
No response
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
通过 /config 或 /settings 选择一个策略可用的模型,然后在配置了模型列表的组织中重启 Copilot,以复现该问题。跟踪启动时的模型解析与目录加载之间的关系;当配置的默认模型在启动后仍保持选中,而不是短暂出现后回退到其他模型时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- shell
- 领域
- cli
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100