github / github/copilot-cli

Enterprise authentication not supported by ACP server

Open
#3,161 1 comment 1 reaction 0 assignees View on GitHub
area:authentication area:enterprise area:non-interactive
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.