Hi,
I've added an integration with Microsoft Agent Framework (.NET) inside a WinForms application and I've experienced inconsistent listing of CopilotClient models using the ListModelsAsync function.
Context
I'm using a GH user that was invited to a GH organization which got assigned a Copilot seat. I have a suspicion that the models (1 model only: gpt-4.1) returned are from my regular GH user which has no Copilot seat/license assigned to it.
OS
Windows
NuGet Packages
- Microsoft.Agents.AI (1.0.0)
- Microsoft.Agents.AI.GitHub.Copilot (1.0.0-preview.260402.1)
- GitHub.Copilot.SDK (0.2.1)
How I achieve getting wrong list of models
- Start and complete the Auth Device Flow with GH using the GH Copilot public client ID to obtain a GH token
- Store the valid GH token
- Create a
CopilotClient with CopilotClientOptions (GithubToken, UseLoggedInUser = false) and start it.
- Obtain the list of models by calling
await client.ListModelsAsync()
- Only
gpt-4.1 is returned, expected the same models available through VS Code.
Questions
- Am I using the correct auth flow to get the proper GH token which has access to the Copilot seat assigned from my organization?
- Is there ways to call an HTTP endpoint in order to get the list of models instead of instanciating a CopilotClient. I have seen that VS Code codebase calls
https://api.github.com/copilot_internal/* endpoints which I've read would be against ToS to call.
Maybe a bug maybe not...
A colleague found an interesting route that could maybe explain the 1 model returned. When the CLI gets launched with --no-auto-update it picks up an old version in his C:/users/[username]/.copilot\pkg\win32-x64\0.0.403. When the parameter --no-auto-update isn't there it picks up this version C:\Users\[username]\.copilot\pkg\universal\1.0.14. He tested it manually by launching the CLI from the bundled copilot.exe inside our WinForm app with PowerShell and he was able to reproduce the same error which resulted in only getting 1 model (gpt-4.1) returned.
Hi,
I've added an integration with Microsoft Agent Framework (.NET) inside a WinForms application and I've experienced inconsistent listing of CopilotClient models using the
ListModelsAsyncfunction.Context
I'm using a GH user that was invited to a GH organization which got assigned a Copilot seat. I have a suspicion that the models (1 model only: gpt-4.1) returned are from my regular GH user which has no Copilot seat/license assigned to it.
OS
Windows
NuGet Packages
How I achieve getting wrong list of models
CopilotClientwithCopilotClientOptions(GithubToken,UseLoggedInUser = false) and start it.await client.ListModelsAsync()gpt-4.1is returned, expected the same models available through VS Code.Questions
https://api.github.com/copilot_internal/*endpoints which I've read would be against ToS to call.Maybe a bug maybe not...
A colleague found an interesting route that could maybe explain the 1 model returned. When the CLI gets launched with
--no-auto-updateit picks up an old version in hisC:/users/[username]/.copilot\pkg\win32-x64\0.0.403. When the parameter--no-auto-updateisn't there it picks up this versionC:\Users\[username]\.copilot\pkg\universal\1.0.14. He tested it manually by launching the CLI from the bundledcopilot.exeinside our WinForm app with PowerShell and he was able to reproduce the same error which resulted in only getting 1 model (gpt-4.1) returned.