Architecture at a glance
Every Copilot SDK integration follows the same core pattern: your application talks to the SDK, which communicates with the Copilot CLI over JSON-RPC. What changes across setups is where the CLI runs, how users authenticate, and how sessions are managed.

The setup guides below help you configure each layer for your scenario.
Who are you?
🧑💻 Hobbyist
You're building a personal assistant, side project, or experimental app. You want the simplest path to getting Copilot in your code.
Start with:
- Default setup (bundled CLI)—The SDK includes the CLI automatically—just install and go
- Local CLI setup—Use your own CLI binary or running instance (advanced)
🏢 Internal app developer
You're building tools for your team or company. Users are employees who need to authenticate with their enterprise GitHub accounts or org memberships.
Start with:
- GitHub OAuth setup—Let employees sign in with their GitHub accounts
- Backend services setup—Run the SDK in your internal services
If scaling beyond a single server:
- Scaling and multi-tenancy—Handle multiple users and services
🚀 App developer (ISV)
You're building a product for customers. You need to handle authentication for your users—either through GitHub or by managing identity yourself.
Start with:
- GitHub OAuth setup—Let customers sign in with GitHub
- BYOK (bring your own key)—Manage identity yourself with your own model keys
- Backend services setup—Power your product from server-side code
For production:
- Scaling and multi-tenancy—Serve many customers reliably
🏗️ Platform developer
You're embedding Copilot into a platform—APIs, developer tools, or infrastructure that other developers build on. You need fine-grained control over sessions, scaling, and multi-tenancy.
Start with:
- Backend services setup—Core server-side integration
- Scaling and multi-tenancy—Session isolation, horizontal scaling, persistence
Depending on your auth model:
- GitHub OAuth setup—For GitHub-authenticated users
- BYOK (bring your own key)—For self-managed identity and model access
Decision matrix
Use this table to find the right guides based on what you need to do:
| What you need | Guide |
|---|---|
| Getting started quickly | Default setup (bundled CLI) |
| Use your own CLI binary or server | Local CLI setup |
| Users sign in with GitHub | GitHub OAuth setup |
| Use your own model keys (OpenAI, Azure, etc.) | BYOK (bring your own key) |
| Azure BYOK with Managed Identity (no API keys) | Azure managed identity with BYOK |
| Run the SDK on a server | Backend services setup |
| Serve multiple users / scale horizontally | Scaling and multi-tenancy |
Configuration comparison

Prerequisites
All guides assume you have:
- One of the SDKs installed (Node.js, Python, and .NET SDKs include the CLI automatically):
- Node.js:
npm install @github/copilot-sdk - Python:
pip install github-copilot-sdk - Go:
go get github.com/github/copilot-sdk/go(requires separate CLI installation) - .NET:
dotnet add package GitHub.Copilot.SDK
- Node.js:
If you're brand new, start with the Build your first Copilot-powered app first, then come back here for production configuration.
Next steps
Pick the guide that matches your situation from the decision matrix above, or start with the persona description closest to your role.