Skip to content

Enterprise managed model setting is received but not applied in the Copilot app and non-interactive CLI #4959

Description

@PragmaticCoder

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

  1. Set the enterprise configuration source to a .github-private repo whose copilot/managed-settings.json is { "model": "auto" }. Confirm the AI controls "Configuration summary" shows it.
  2. Wait for propagation (runtime log shows server policy served ... keys=[model,permissions]).
  3. Run copilot -p "Reply with the model name you are running as" or start a new session in the Copilot app.
  4. Observe the session runs on gpt-5.6-sol. Same on a clean COPILOT_HOME with no user settings or remembered model. copilot --model auto works, 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions