github / github/copilot-cli

Default model choice fails when org policy loads model list after copilot load

Open
#4,819 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triage
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue by selecting a policy-available model through /config or /settings, then restarting Copilot in an organization with a configured model list. Trace startup model resolution against catalog loading; done means the configured default remains selected after startup instead of briefly appearing and falling back to another model.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.