Skip to content

Enterprise models omitted from headless model catalogs; switching fails with "Provider model is not registered" #5328

Open

Description

@carloscco

Describe the bug

Enterprise-managed models appear in the authenticated Copilot API /models response with model_picker_enabled: true, but headless runtime discovery omits all enterprise models available to the tested account.

This affects SDK client.listModels(), native client.rpc.models.list({ gitHubToken }), and session model.list(). Comparing the API and native RPC with the same GitHub credential reproduces the omission.

Calling session.setModel() with an omitted enterprise model's exact catalog ID also fails:

Request session.model.switchTo failed with message:
Provider model '<enterprise>/<provider>/<model>' is not registered

Affected version

  • CLI/runtime 1.0.105, SDK 1.0.28 — reproduced with both the bundled runtime and installed CLI.
  • Bundled runtime 1.0.106-2, SDK 1.0.29-preview.1 — also reproduces.
  • Originally observed with SDK 1.0.13 and CLI 1.0.105.

Steps to reproduce the behavior

  1. Authenticate an account entitled to an enterprise-managed model.
  2. Confirm its exact ID appears in GET https://api.githubcopilot.com/models with model_picker_enabled: true.
  3. Start an SDK client over stdio with the bundled runtime.
  4. Compare client.listModels() and client.rpc.models.list({ gitHubToken }), using the same credential as the API request. Enterprise models are absent.
  5. Create a temporary session and call session.rpc.model.list(). Enterprise models are also absent.
  6. Call session.setModel() with the exact enterprise catalog ID. Observe the registration error above.

Expected behavior

Entitled enterprise-managed models should be discoverable and selectable through the headless runtime, or an explicit limitation should be documented.

Additional context

  • macOS, arm64, zsh.
  • Reproduced with fresh clients and temporary sessions. No inference prompts were sent.
  • Creating a session with the enterprise model ID records that ID, but successful inference has not been verified.
  • Enterprise identifiers are redacted; the error above uses placeholders.

Related: #4960 (marked fixed in CLI 1.0.95), #4953 (encoded-slash selection), and #1608 (incomplete RPC catalog). This reproduction persists on newer stable and preview runtimes; a shared root cause is not confirmed.

Activity

  1. added
    area:enterpriseGitHub Enterprise (GHE/GHES) support, org policies, and enterprise settings
    area:modelsModel selection, availability, switching, rate limits, and model-specific behavior
    area:non-interactiveNon-interactive mode (-p), CI/CD, ACP protocol, and headless automation
    on Nov 3, 2026
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

    area:enterpriseGitHub Enterprise (GHE/GHES) support, org policies, and enterprise settingsarea:modelsModel selection, availability, switching, rate limits, and model-specific behaviorarea:non-interactiveNon-interactive mode (-p), CI/CD, ACP protocol, and headless automation

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions