Liking cljdoc? Tell your friends :D

GitHub Copilot SDK - Supercharged

GitHub Copilot SDK SUPERCHARGED

npm PyPI crates.io NuGet Maven Central Gem Hex Clojars LuaRocks GitHub Stars Registries Languages

npm downloads PyPI downloads crates.io downloads NuGet downloads RubyGems downloads Hex.pm downloads

40 languages. One SDK. Agents for every app.

Trusted by 100,000+ developers globally and growing daily.

Embed Copilot's agentic workflows in your application - now available in public preview as a programmable SDK for 40 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.

If you find this SDK useful, star the repo! It helps others discover it and keeps us motivated to ship more.

Available SDKs

SDKLocationCookbookInstallation
.NET / C#dotnet/Cookbookdotnet add package CopilotSDK.Supercharged
Adaada/CookbookAlire
Cc/CookbookCMake
C++cpp/CookbookCMake
Clojureclojure/Cookbooknet.clojars.jeremiahisaacson/copilot-sdk-supercharged
COBOLcobol/CookbookGnuCOBOL
Crystalcrystal/Cookbookshards install
Ddlang/Cookbookdub add copilot
Dartdart/Cookbookpub
Delphi / Object Pascaldelphi/CookbookBoss / Manual
Elixirelixir/Cookbook{:copilot_sdk_supercharged, "~> 2.0"}
Erlangerlang/CookbookRebar3
F#fsharp/Cookbookdotnet add package CopilotSDK.Supercharged.FSharp
Fortranfortran/Cookbookfpm
Gogo/Cookbookgo get github.com/github/copilot-sdk/go
Groovygroovy/CookbookGradle
Haskellhaskell/CookbookCabal
Javajava/Cookbookio.github.jeremiahjordanisaacson:copilot-sdk-supercharged
Juliajulia/CookbookPkg.add("CopilotSDK")
Kotlinkotlin/CookbookGradle
Lualua/Cookbookluarocks install copilot-sdk-supercharged
MATLABmatlab/Cookbookaddpath
Nimnim/Cookbooknimble install copilot_sdk
Node.js / TypeScriptnodejs/Cookbooknpm install copilot-sdk-supercharged
Objective-Cobjc/CookbookCocoaPods / SPM
OCamlocaml/Cookbookopam install copilot-sdk-supercharged
Perlperl/CookbookCPAN
PHPphp/CookbookComposer
Pythonpython/Cookbookpip install copilot-sdk-supercharged
Rr/CookbookCRAN
Rubyruby/Cookbookgem install copilot-sdk-supercharged
Rustrust/Cookbookcargo add copilot-sdk-supercharged
Scalascala/Cookbooksbt
Shell / Bashshell/CookbookSource
Soliditysolidity/Cookbooknpm install copilot-sdk-solidity
Swiftswift/CookbookSwift Package Manager
Tcltcl/Cookbookpackage require copilot
V (Vlang)vlang/Cookbookv install copilot_sdk
Visual Basicvisualbasic/Cookbookdotnet add package CopilotSDK.Supercharged.VB
Zigzig/Cookbookzig fetch

See the individual SDK READMEs for usage examples and API reference. For architecture details, see MULTI_LANGUAGE_SDKS.md.

What's New in v2.5.3

Tracks upstream github/copilot-sdk and ports every feature to all 40 SDKs. Highlights since v2.3.0 (see the CHANGELOG for the full history):

Latest release (v2.5.3)

  • PyPI package name fixed – The Python SDK now publishes under copilot-sdk-supercharged (matching every other registry) instead of an unowned project name
  • Security – Resolved a High-severity ReDoS (super-linear backtracking) in the Python code generator's class-block regex
  • Publishing hardened – npm/PyPI/pub.dev workflows use OIDC trusted publishing with workflow_dispatch + a manifest-version fallback so releases can be safely re-run
  • Docs – Backfilled a source-grounded "Recent Features (v2.4–v2.5)" section into all 40 SDK READMEs

v2.5.2

  • user_setting permission source – Permission decisions originating from a user's saved setting are now distinguishable across the core SDKs (Node, Python, Go, .NET)
  • Optional login on AccountLoginRequest – Omit login to resolve the authenticated user from the token
  • Security (Java) – Jackson bumped 2.17.0 → 2.18.10, resolving 10 Dependabot advisories (CVE-2026-54512/54513/54514/54515/59888)
  • Runtime pin@github/copilot pinned to ^1.0.80 (latest on public npm); newer upstream type refinements are still included

Sessions & transport (v2.5.0)

  • Session rewind – Restore a session to an earlier point from its file-change captures
  • In-process (FFI) transport – Run the runtime in-process across Node, Python, Go, and Rust
  • Additional session directories – Expose extra working directories to a session
  • Disabled MCP servers & GitHub MCP tool config – Fine-grained per-session MCP control
  • Canvas provider – Register a session-level canvas provider
  • reasoningEffort: max & tool search – Highest reasoning tier, with tool-search scaling for large tool sets
  • Agent Factories argsSchema – Declare a factory's arguments; repository content-exclusion rules respected

Auth, BYOK & telemetry (v2.4.0)

  • MCP OAuth host token handlers – Answer 401 WWW-Authenticate challenges from MCP servers
  • BYOK bearer-token provider – Per-session token resolution for Managed-Identity-style auth
  • Session memory, WebSocket transport & citations – Plus per-session AI-credit budgets (sessionLimits)

All additional-SDK features are enforced by scripts/verify-sdk-coverage.mjs (36/36 coverage).

Getting Started

For a complete walkthrough, see the Getting Started Guide.

Quick steps:

  1. (Optional) Install the Copilot CLI

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.

  1. Install your preferred SDK using the commands above.

  2. See the SDK README for usage examples and API documentation.

Architecture

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.

FAQ

Do I need a GitHub Copilot subscription to use the SDK?

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.

How does billing work for SDK 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.

Does it support BYOK (Bring Your Own Key)?

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.

What authentication methods are supported?

The SDK supports multiple authentication methods:

  • GitHub signed-in user - Uses stored OAuth credentials from copilot CLI login
  • OAuth GitHub App - Pass user tokens from your GitHub OAuth app
  • Environment variables - COPILOT_GITHUB_TOKEN, GH_TOKEN, GITHUB_TOKEN
  • BYOK - Use your own API keys (no GitHub auth required)

See the Authentication documentation for details on each method.

Do I need to install the Copilot CLI separately?

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.

What tools are enabled by default?

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.

Can I use custom agents, skills or tools?

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.

Are there instructions for Copilot to speed up development with the SDK?

Yes, check out the custom instructions for each SDK:

What models are supported?

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.

Is the SDK production-ready?

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.

How do I report issues or request features?

Please use the GitHub Issues page to report bugs or request new features. We welcome your feedback to help improve the SDK.

Quick Links

Contributing

See CONTRIBUTING.md for contribution guidelines.

License

MIT

Can you improve this documentation? These fine people already did:
Jeremiah Isaacson, Patrick Nikoletich, Bruno Borges, Copilot, Stephen Toub, Aaron Powell, Ashley Wolf, Ed Burns, Sanzo, Karl Krukow, mohamed_amine_hamdi, Quim Muntal, kirankashyap, coleflennikenmsft, Adrien Friggeri, Steve Sanderson, Rob Emanuele & Andy Feller
Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close