| title | Setup guides | ||||
|---|---|---|---|---|---|
| shortTitle | Choosing A Setup Path | ||||
| intro | These guides walk you through configuring the Copilot SDK for your specific use case—from personal side projects to production platforms serving thousands of users. | ||||
| versions |
|
||||
| redirect_from |
|
||||
| contentType | how-tos |
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.
You're building a personal assistant, side project, or experimental app. You want the simplest path to getting Copilot in your code.
Start with:
- AUTOTITLE—The SDK includes the CLI automatically—just install and go
- AUTOTITLE—Use your own CLI binary or running instance (advanced)
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:
- AUTOTITLE—Let employees sign in with their GitHub accounts
- AUTOTITLE—Run the SDK in your internal services
If scaling beyond a single server:
- AUTOTITLE—Configure SDK options for multi-user server mode
- AUTOTITLE—Handle multiple users and services
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:
- AUTOTITLE—Let customers sign in with GitHub
- AUTOTITLE—Manage identity yourself with your own model keys
- AUTOTITLE—Power your product from server-side code
For production:
- AUTOTITLE—Use
mode: "empty", per-session tokens, and isolated runtime state - AUTOTITLE—Serve many customers reliably
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:
- AUTOTITLE—Core server-side integration
- AUTOTITLE—SDK-level isolation, per-session auth, and shared runtime options
- AUTOTITLE—Session isolation, horizontal scaling, persistence
Depending on your auth model:
Use this table to find the right guides based on what you need to do:
| What you need | Guide |
|---|---|
| Getting started quickly | AUTOTITLE |
| Use your own CLI binary or server | AUTOTITLE |
| Users sign in with GitHub | AUTOTITLE |
| Use your own model keys (OpenAI, Azure, etc.) | AUTOTITLE |
| Azure BYOK with Managed Identity (no API keys) | AUTOTITLE |
| Run the SDK on a server | AUTOTITLE |
| Configure SDK options for concurrent users | AUTOTITLE |
| Serve multiple users / scale horizontally | AUTOTITLE |
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 AUTOTITLE first, then come back here for production configuration.
Pick the guide that matches your situation from the decision matrix above, or start with the persona description closest to your role.

