Enterprise authentication not supported by ACP server
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
### 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:
```json
{"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//.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](https://agentclientprotocol.com/rfds/auth-methods#auth-method-types), so as to make explicit the use of `GH_TOKEN` and `COPILOT_GH_TOKEN` for this purpose.
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.