Skip to content

Enterprise authentication not supported by ACP server #3161

@id-nbls

Description

@id-nbls

Describe the bug

Enterprise users cannot authenticate ACP clients with the copilot ACP server. To authenticate as a GHE user using the copilot CLI natively, users must either:

  1. Run copilot login --host https://example.ghe.com; or
  2. Launch copilot then run the /login command and specify the domain.

However, the copilot ACP server does not reveal either of these possibilities in the terminal-auth value of the ACP initialization response:

{"jsonrpc":"2.0","id":0,"result":{"protocolVersion":1,"agentCapabilities":{"loadSession":true,"mcpCapabilities":{"http":true,"sse":true},"promptCapabilities":{"image":true,"audio":false,"embeddedContext":true},"sessionCapabilities":{"list":{}}},"agentInfo":{"name":"Copilot","title":"Copilot","version":"1.0.42"},"authMethods":[{"id":"copilot-login","name":"Log in with Copilot CLI","description":"Run `copilot login` in the terminal","_meta":{"terminal-auth":{"command":"/Users/<me>/.local/bin/copilot","args":["login"],"label":"Copilot Login"}}}]}}

Please add support for enterprise users trying to authenticate their ACP clients.

Affected version

GitHub Copilot CLI 1.0.42.

Steps to reproduce the behavior

  1. Open a code editor that supports ACP clients/servers (e.g., Zed or IntelliJ), then add GitHub Copilot from the agent server registry.
  2. Open a new agent session with Copilot. The UI should expose a button to log in. Click that button.
  3. Observe a new terminal open running copilot login and the usual github.com login flow.

Expected behavior

Enterprise users should be able to log in with ACP clients. I can see two potential solutions:

  1. Respect the GH_HOST or COPILOT_GH_HOST env vars, if set, during the terminal-auth flow.
  2. Implement the env var auth method type, so as to make explicit the use of GH_TOKEN and COPILOT_GH_TOKEN for this purpose.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:authenticationLogin, OAuth, device auth, token management, and keychain integrationarea:enterpriseGitHub Enterprise (GHE/GHES) support, org policies, and enterprise settingsarea:non-interactiveNon-interactive mode (-p), CI/CD, ACP protocol, and headless automation

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions