CLI tool
github/copilot-sdk avatar
github/copilot-sdk

GitHub Copilot SDK: Embed Copilot's Agent Runtime in Your Application

Multi-platform SDK for integrating GitHub Copilot Agent into apps and services.

10,529 stars1,465 forksJavaMIT

At a glance

What is it?
The GitHub Copilot SDK exposes the agent engine behind the Copilot CLI across six languages, letting applications invoke agentic workflows, tool use, and file edits programmatically without building their own orchestration layer. It requires a GitHub Copilot subscription or a BYOK configuration.
Who is it for?
The GitHub Copilot SDK is the right tool for teams building applications that need to embed agentic coding workflows, code editing, or tool invocation without writing their own orchestration. The JSON-RPC architecture means the CLI process handles planning and tool execution while the SDK manages the process lifecycle.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What the GitHub Copilot SDK Provides

The GitHub Copilot SDK packages the same agent runtime that powers the Copilot CLI and makes it available as a library for Python, Node.js (TypeScript), Go, .NET, Java, and Rust applications. The README describes the value proposition directly: you define agent behaviour and Copilot handles planning, tool invocation, file edits, and more, without needing to build your own orchestration.

The SDK is a monorepo containing six language implementations, all communicating with the same Copilot CLI binary acting as a local server. Each SDK directory has its own README, installation instructions, and cookbook linked in the main README.

Version v1.0.15 was released on 2026-09-28. The last push to the repository was on 2026-09-27. Earlier preview releases, v1.0.15-preview.3 and v1.0.15-preview.4, appeared in the days before the stable release.

The JSON-RPC Architecture

All six SDKs share the same communication architecture. The SDK client in your application speaks JSON-RPC to the Copilot CLI running in server mode:

code
Your Application
       ↓
  SDK Client
       ↓ JSON-RPC
  Copilot CLI (server mode)

The SDK manages the CLI process lifecycle automatically. When you create a client instance, the SDK starts the CLI process if it is not already running and maintains the connection. For environments where the CLI is already running externally, the README links to instructions for connecting to an external CLI server.

For Node.js, Python, and .NET SDKs, the Copilot CLI is bundled automatically with the package. No separate installation is required. For Go, Java, and Rust, the README instructs users to install the CLI manually or ensure that the `copilot` binary is available in PATH. Go and Rust also expose application-level CLI bundling features.

Installing the SDK in Each Language

The main README shows the installation command for each language:

bash
npm install @github/copilot-sdk

For Python:

bash
pip install github-copilot-sdk

For Go:

bash
go get github.com/github/copilot-sdk/go

For .NET:

bash
dotnet add package GitHub.Copilot.SDK

For Rust:

bash
cargo add github-copilot-sdk

For Java, the Maven coordinates are `com.github:copilot-sdk-java`. The README links to Maven and Gradle installation instructions in the `java/README.md`.

Each SDK has a cookbook linked from the main README. The cookbooks are in the separate `github/awesome-copilot` repository.

BYOK: Using the SDK Without a Copilot Subscription

The README's FAQ section documents the subscription requirement and the alternative. A GitHub Copilot subscription is required for standard use. The exception is BYOK, Bring Your Own Key, which allows using the SDK without GitHub authentication by configuring your own API keys from supported LLM providers.

With BYOK, the SDK authenticates with your own provider's API key instead of with GitHub Copilot. The README does not specify which LLM providers are supported; it refers to "supported LLM providers" without listing them.

This makes the SDK viable for teams that want to build agentic tools on their own LLM infrastructure without going through GitHub's subscription system.

Skill Installation APIs

Runtimes that grant `skill-confirmed-installation` expose a set of skill management APIs. The README documents these methods: `skills.planInstall`, `skills.applyInstall`, `skills.planUninstall`, `skills.applyUninstall`, `skills.installations.list`, `skills.installations.recover`, `skills.installations.status`, `skills.installations.cancel`, and `skills.installations.setEnabled`.

Skill install reviews include the full verified SKILL.md content (up to 256 KiB), catalogue identity, file manifest, and non-absolute personal target location. Installation summaries report `ownershipState`, `configuredEnabled`, `sessionState`, retained catalogue identity, and `installedAt`.

This API surface is for runtimes that need to manage agent skill installations programmatically rather than through the Copilot CLI interface.

Limitations and Alternative Agent Frameworks

The GitHub Copilot SDK is specifically tied to the Copilot CLI server. It does not provide direct access to arbitrary LLM APIs or allow you to swap in a different model endpoint without BYOK configuration. Teams that need to work directly with models from multiple providers independently of GitHub may prefer a framework such as LangChain or the Anthropic or OpenAI SDKs, which provide direct model API access without a local CLI server process.

The CLI bundling requirement for Go, Java, and Rust SDKs means those languages have an additional dependency that the Node.js, Python, and .NET paths do not. In containerised environments, the CLI binary must be available in the image for those languages. The README notes that the CLI can also be run as an external server and the SDK can connect to it; this allows sharing a single CLI process across multiple SDK clients in the same environment.

The monorepo includes a `test/` directory and Vitest configuration at the root, with per-language test scripts in the package.json. The CHANGELOG.md tracks releases. A SECURITY.md and CODE_OF_CONDUCT.md are present, and the project has a SUPPORT.md for describing available support channels.

The search data includes a comparison to the Microsoft Agent Framework. The README does not address that comparison, but Microsoft's equivalent targets Windows-native and Azure-integrated deployments while the GitHub Copilot SDK targets the Copilot CLI runtime specifically.

Editorial conclusion

The GitHub Copilot SDK is the right tool for teams building applications that need to embed agentic coding workflows, code editing, or tool invocation without writing their own orchestration. The JSON-RPC architecture means the CLI process handles planning and tool execution while the SDK manages the process lifecycle. The BYOK option makes it viable without a Copilot subscription for teams that provide their own LLM API keys. It is not a general-purpose LLM SDK: it is tied to the Copilot CLI server and its specific capabilities. Before adopting it, check the CLI availability requirement for Go, Java, and Rust SDKs; those require a separately installed `copilot` binary, while Node.js, Python, and .NET bundle the CLI automatically.

Frequently asked questions

Does Copilot have an SDK?

Yes. The GitHub Copilot SDK is available for Python, Node.js, Go, .NET, Java, and Rust. It exposes the same agent engine used by the Copilot CLI and communicates with a local Copilot CLI process via JSON-RPC.

Is the GitHub Copilot SDK free?

Standard use requires a GitHub Copilot subscription. The SDK supports BYOK (Bring Your Own Key), which allows use without GitHub authentication by configuring your own API keys from supported LLM providers.

How to use GitHub Copilot SDK?

Install the SDK package for your language (for example, `npm install @github/copilot-sdk` for Node.js or `pip install github-copilot-sdk` for Python), then follow the SDK README for that language. For Node.js, Python, and .NET, the Copilot CLI is bundled; for Go, Java, and Rust, you must install the CLI separately.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
For maintainers

Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/github-copilot-sdk.svg)](https://hysenlabs.com/projects/github-copilot-sdk)
Community notes

Community notes