
21 languages. One SDK. Agents for every app.
Embed Copilot's agentic workflows in your application—now available in public preview as a programmable SDK for 21 languages.
The GitHub Copilot SDK exposes the same engine behind Copilot CLI: a production-tested agent runtime you can invoke programmatically. No need to build your own orchestration—you define agent behavior, Copilot handles planning, tool invocation, file edits, and more.
| SDK | Location | Cookbook | Installation |
|---|---|---|---|
| Node.js / TypeScript | nodejs/ | Cookbook | npm install copilot-sdk-supercharged |
| Python | python/ | Cookbook | pip install copilot-sdk-supercharged |
| Go | go/ | Cookbook | go get github.com/github/copilot-sdk/go |
| .NET / C# | dotnet/ | Cookbook | dotnet add package CopilotSDK.Supercharged |
| Java | java/ | Cookbook | Maven / Gradle |
| Rust | rust/ | cargo add copilot-sdk-supercharged | |
| Ruby | ruby/ | gem install copilot-sdk-supercharged | |
| PHP | php/ | Composer | |
| Swift | swift/ | Swift Package Manager | |
| Kotlin | kotlin/ | Gradle | |
| C++ | cpp/ | CMake | |
| C | c/ | CMake | |
| Dart | dart/ | pub | |
| Scala | scala/ | sbt | |
| R | r/ | CRAN | |
| Perl | perl/ | CPAN | |
| Lua | lua/ | luarocks install copilot-sdk-supercharged | |
| Shell / Bash | shell/ | Source | |
| Elixir | elixir/ | {:copilot_sdk_supercharged, "~> 1.0"} | |
| Haskell | haskell/ | Cabal | |
| Clojure | clojure/ | net.clojars.jeremiahisaacson/copilot-sdk-supercharged |
See the individual SDK READMEs for usage examples and API reference. For architecture details, see MULTI_LANGUAGE_SDKS.md.
For a complete walkthrough, see the Getting Started Guide.
Quick steps:
For Node.js, Python, and .NET SDKs, the Copilot CLI is bundled automatically and no separate installation is required.
For the Go SDK, install the CLI manually or ensure copilot is available in your PATH.
Install your preferred SDK using the commands above.
See the SDK README for usage examples and API documentation.
All SDKs communicate with the Copilot CLI server via JSON-RPC:
Your Application
↓
SDK Client
↓ JSON-RPC
Copilot CLI (server mode)
The SDK manages the CLI process lifecycle automatically. You can also connect to an external CLI server. See the Getting Started Guide for details on running the CLI in server mode.
Yes, a GitHub Copilot subscription is required to use the GitHub Copilot SDK, unless you are using BYOK (Bring Your Own Key). With BYOK, you can use the SDK without GitHub authentication by configuring your own API keys from supported LLM providers. For standard usage (non-BYOK), refer to the GitHub Copilot pricing page, which includes a free tier with limited usage.
Billing for the GitHub Copilot SDK is based on the same model as the Copilot CLI, with each prompt being counted towards your premium request quota. For more information on premium requests, see Requests in GitHub Copilot.
Yes, the GitHub Copilot SDK supports BYOK (Bring Your Own Key). You can configure the SDK to use your own API keys from supported LLM providers (e.g. OpenAI, Azure AI Foundry, Anthropic) to access models through those providers. See the BYOK documentation for setup instructions and examples.
Note: BYOK uses key-based authentication only. Microsoft Entra ID (Azure AD), managed identities, and third-party identity providers are not supported.
The SDK supports multiple authentication methods:
copilot CLI loginCOPILOT_GITHUB_TOKEN, GH_TOKEN, GITHUB_TOKENSee the Authentication documentation for details on each method.
No — for Node.js, Python, and .NET SDKs, the Copilot CLI is bundled automatically as a dependency. You do not need to install it separately.
For Go SDK, you may still need to install the CLI manually.
Advanced: You can override the bundled CLI using cliPath or cliUrl if you want to use a custom CLI binary or connect to an external server.
By default, the SDK will operate the Copilot CLI in the equivalent of --allow-all being passed to the CLI, enabling all first-party tools, which means that the agents can perform a wide range of actions, including file system operations, Git operations, and web requests. You can customize tool availability by configuring the SDK client options to enable and disable specific tools. Refer to the individual SDK documentation for details on tool configuration and Copilot CLI for the list of tools available.
Yes, the GitHub Copilot SDK allows you to define custom agents, skills, and tools. You can extend the functionality of the agents by implementing your own logic and integrating additional tools as needed. Refer to the SDK documentation of your preferred language for more details.
Yes, check out the custom instructions for each SDK:
All models available via Copilot CLI are supported in the SDK. The SDK also exposes a method which will return the models available so they can be accessed at runtime.
The GitHub Copilot SDK is currently in Public Preview. While it is functional and can be used for development and testing, it may not yet be suitable for production use.
Please use the GitHub Issues page to report bugs or request new features. We welcome your feedback to help improve the SDK.
See CONTRIBUTING.md for contribution guidelines.
MIT
Can you improve this documentation? These fine people already did:
Jeremiah Isaacson, Patrick Nikoletich, Bruno Borges, Copilot, Aaron Powell, Ashley Wolf, Sanzo, Karl Krukow, Ed Burns, mohamed_amine_hamdi, kirankashyap, Adrien Friggeri, Steve Sanderson & Rob EmanueleEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |