Enterprise managed `model` setting is received but not applied in the Copilot app and non-interactive CLI
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 65/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- backend-api-design, cli
Research direction
The issue is in the runtime's model resolution path for non-interactive sessions. Start by examining the log output and the managed settings loading code, likely in a Rust module like model_bindings::api_resolver. Compare the interactive vs. non-interactive session initialization. Look for where the model key from managed-settings.json is read and applied. Check the session type detection and ensure the enterprise setting overrides the default. Run the CLI with -p and inspect the logs to see the flow.
Written by the indexing model from the issue text.
Description
Describe the bug
Enterprise managed settings (copilot/managed-settings.json in the .github-private configuration source) contain { "model": "auto" }. The runtime log shows the server policy is fetched with keys=[model,permissions], but immediately afterwards the model resolver picks the built-in default (gpt-5.6-sol) instead of Auto.
Interactive CLI sessions in a terminal do honor the setting (new sessions show Auto). Sessions started by the GitHub Copilot desktop app, and CLI runs with -p or piped stdin, do not.
Affected version
Copilot CLI 1.0.89-1; GitHub Copilot app 1.1.23; macOS (Darwin 25.6). No MDM or file-based managed settings on the device.
Steps to reproduce the behavior
- Set the enterprise configuration source to a
.github-privaterepo whosecopilot/managed-settings.jsonis{ "model": "auto" }. Confirm the AI controls "Configuration summary" shows it. - Wait for propagation (runtime log shows
server policy served ... keys=[model,permissions]). - Run
copilot -p "Reply with the model name you are running as"or start a new session in the Copilot app. - Observe the session runs on
gpt-5.6-sol. Same on a cleanCOPILOT_HOMEwith no user settings or remembered model.copilot --model autoworks, so Auto is available to the account.
Runtime log (~/.copilot/logs/process-*.log):
[managedSettings] device MDM: no policy present on this device
[managedSettings] server policy served from fresh cache (age 47512ms) for https://github.com: bypassDisabled=false, keys=[model,permissions]
[managedSettings] effective policy resolved: source=server, bypassDisabled=false, serverFetchFailed=false, policyHelperFailed=false, policyHelperFailClosed=false
[rust:model_bindings::api_resolver] Using default model: gpt-5.6-sol
Expected behavior
Per the enterprise managed settings reference, model "sets your preferred model as the default for new conversations" and is listed as supported for Copilot CLI and the Copilot app. New sessions should start on Auto in both, including non-interactive runs.
Additional context
Interactive terminal sessions apply it correctly, so the gap appears to be in the non-interactive / app session path of the runtime. Happy to share a full redacted runtime log.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/copilot-cli
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
github/copilot-cli#4932 ·
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
github/copilot-cli#4909 ·
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
github/copilot-cli#4906 ·
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/copilot-cli#4848 ·
-
area:agents area:mcp
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/copilot-cli#4729 ·
All issues in github/copilot-cli
Similar issues
-
Bob Shell support Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
tooling
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
openSUSE/python-rpm-macros#219 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
YunoHost-Apps/adguardhome_ynh#258 ·
-
steam-short-session-tracker: incorrect registry backup path resets settings during automatic repair Open
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
ValveSoftware/SteamOS#2829 ·