Repository navigation
Description
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
- Authenticate an account entitled to an enterprise-managed model.
- Confirm its exact ID appears in
GET https://api.githubcopilot.com/modelswithmodel_picker_enabled: true. - Start an SDK client over stdio with the bundled runtime.
- Compare
client.listModels()andclient.rpc.models.list({ gitHubToken }), using the same credential as the API request. Enterprise models are absent. - Create a temporary session and call
session.rpc.model.list(). Enterprise models are also absent. - 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