GitHub announced a public preview of server-to-server authentication for the GitHub Copilot SDK on October 27, 2026. A service or agent can now make Copilot requests for an organization through a GitHub App installation rather than borrowing a signed-in person’s credentials. GitHub describes this as a workload-owned identity; it is an authentication change, not permission to bypass organization policy.
The workload uses a short-lived installation token
For services outside GitHub Actions, GitHub’s documented flow is to create a GitHub App with the read-only Copilot Requests organization permission, install it on the organization, mint an installation access token and pass that token explicitly to the Copilot SDK. Installation tokens expire after one hour and must be refreshed.
In GitHub Actions, GitHub recommends the built-in GITHUB_TOKEN for an organization-owned repository instead of creating a separate app or stored authentication secret. The organization policy allowing Copilot CLI use billed to the organization must be enabled. These paths reduce dependence on a person’s long-lived token, but deployment code still has to handle expiry safely.
Related sources: GitHub Changelog: Copilot supports server-to-server authentication ↗ · GitHub Docs: Server-to-server authentication ↗
Organization policy, budgets and billing remain in force
GitHub says usage is attributed and billed to the organization that owns the app installation. The organization’s allowed-model policies, budgets and spending controls apply. Owners can review app-attributed usage in AI usage CSV exports through the app_client_id field.
A Canadian company should test how this attribution appears in its cost reporting before scaling an agent. Set a narrow installation scope, monitor failed refreshes and distinguish a model request from downstream actions an agent may take through other credentials. Server authentication solves identity continuity; it does not solve authorization design for every tool.
Related sources: GitHub Changelog: Copilot supports server-to-server authentication ↗ · GitHub Docs: Server-to-server authentication ↗
Suspension and uninstall are the practical kill switches
GitHub says owners can stop Copilot access by suspending or uninstalling the GitHub App. Teams should rehearse that response and ensure automation fails closed when a token is expired, missing or revoked. The SDK option that disables logged-in-user discovery helps prevent an unintended fallback to a developer credential.
Logs should identify the app, installation and approved workload without recording token values or unnecessary prompt content. Rotate the app’s private key under the broader GitHub App security process, and keep Copilot authentication separate from repository write permissions. A read-only Copilot Requests permission does not itself grant code modification rights.
Related sources: GitHub Changelog: Copilot supports server-to-server authentication ↗ · GitHub Docs: Server-to-server authentication ↗
Public preview calls for staged adoption
Preview status means interfaces and operational behaviour can change. Begin with a non-production service, test token refresh and 401/403 handling, and verify that the intended organization is billed. GitHub’s troubleshooting guidance lists expired tokens, disabled organization support, missing permissions and unavailable models as failure cases.
The strongest benefit is removing a human account from an unattended service. The strongest deployment evidence will be stable rotation, accurate attribution and revocation under realistic load—not merely a successful first SDK request.
Sources and editorial method
We use the linked original statements and reports to distinguish documented facts from our analysis. Company announcements describe their authors’ plans and claims; they are not independent verification of future outcomes. This article is dated and will be revised if material evidence changes. Read our editorial standards and corrections process.
- GitHub Changelog: Copilot supports server-to-server authentication ↗ — Official October 27 public-preview announcement, controls and billing.
- GitHub Docs: Server-to-server authentication ↗ — Official setup, token lifetime, SDK configuration and troubleshooting.
