You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Support non-interactive sign-in for CI with a GitHub App or machine account #5039
Let the GitHub Copilot app sign in without a browser, with a token from a GitHub App or a machine account, so CI can run the app.
What problem are you trying to solve?
We run the real GitHub Copilot app in GitHub Actions to test our plugin and skills for regressions. The test starts the app, sends a prompt, and checks the files that the agent writes.
The app has only a browser or device code sign-in. It has no documented way to sign in with a token. The only setup that works for us is a personal OAuth token that we write into the app profile before the app starts. That ties CI to one person's account.
We tested these tokens with app 1.1.30 on Linux:
The Actions GITHUB_TOKEN with copilot-requests: write. GET /user returns 403 Resource not accessible by integration, and the session fails with Execution failed: 400 Bad Request. The Copilot API accepts the same token with Copilot-Integration-Id: copilot-developer-cli but returns 400 with copilot-developer-app.
Add a documented, non-interactive sign-in for the app, for example a COPILOT_GITHUB_TOKEN environment variable. Accept at least one token type that does not belong to a person:
A GitHub App installation or user-to-server token.
Teams that build plugins, skills, or canvas extensions for the app cannot run end-to-end UI tests in CI without a person's token. With this change, they can test the app itself in CI and catch regressions before users do.
Installation context
GitHub Actions ubuntu-24.04 runner. The app is installed from the 1.1.30 .deb release and runs under Xvfb in an organization-owned public repository.
Activity