github/copilot-sdkPublic

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

AI summary: The official multi-language SDK for integrating GitHub Copilot's AI capabilities natively into your own applications.

Stars
10.5K
+13 today
Forks
1.5K
Watchers
118
Open issues
280
Open PRs
61
Contributors
~127
Commits
1.2K
Branches
150

TypeScriptMITCreated Jan 14, 2026Last push 2d agoLatest release v1.0.14+29 stars this week+91 this month

Quick answers

What is copilot-sdk?
The official multi-language SDK for integrating GitHub Copilot's AI capabilities natively into your own applications.
What does copilot-sdk do?
The GitHub Copilot SDK provides an official programming interface to Copilot's AI services across multiple languages including Node.js, Python, Go, .NET, Rust, and Java. Rather than building raw HTTP clients to interact with LLMs, developers use this SDK to communicate with a local JSON-RPC server (the Copilot CLI), which handles authentication, routing, and tool execution. It abstracts away the complexity of managing LLM connections, supports defining custom agents and skills, and enables developers to extend Copilot's functionality using their own logic. Notably, it also supports a 'Bring Your Own Key' (BYOK) mode, allowing users to leverage supported models without a GitHub subscription.
Who is copilot-sdk for?
This SDK is designed for software developers and enterprise teams looking to build custom, AI-powered developer tools, plugins, or automated agents backed by GitHub Copilot's infrastructure and models.
How do I get started with copilot-sdk?
npm i @github/copilot-sdk
How popular is copilot-sdk on GitHub?
github/copilot-sdk has 10,539 stars and 1,472 forks on GitHub, and gained 29 stars in the last 7 days.
What license does copilot-sdk use?
github/copilot-sdk is released under the MIT license.

Star history

since Jul 29, 2026
05K10KJul 2026Aug 2026Sep 2026Oct 2026
10.5K stars as of Oct 2, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 7 commits2026-01-15: 4 commits2026-01-16: 2 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 7 commits2026-01-20: 7 commits2026-01-21: 9 commits2026-01-22: 8 commits2026-01-23: 8 commits2026-01-24: 4 commits2026-01-25: 3 commits2026-01-26: 5 commits2026-01-27: 4 commits2026-01-28: 5 commits2026-01-29: 10 commits2026-01-30: 10 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 6 commits2026-02-03: 17 commits2026-02-04: 5 commits2026-02-05: 1 commit2026-02-06: 7 commits2026-02-07: 2 commits2026-02-08: 0 commits2026-02-09: 1 commit2026-02-10: 1 commit2026-02-11: 0 commits2026-02-12: 1 commit2026-02-13: 2 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 8 commits2026-02-17: 6 commits2026-02-18: 2 commits2026-02-19: 8 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 6 commits2026-02-24: 2 commits2026-02-25: 4 commits2026-02-26: 11 commits2026-02-27: 5 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 6 commits2026-03-03: 6 commits2026-03-04: 25 commits2026-03-05: 3 commits2026-03-06: 0 commits2026-03-07: 11 commits2026-03-08: 3 commits2026-03-09: 6 commits2026-03-10: 5 commits2026-03-11: 2 commits2026-03-12: 5 commits2026-03-13: 10 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 4 commits2026-03-17: 1 commit2026-03-18: 2 commits2026-03-19: 10 commits2026-03-20: 6 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 1 commit2026-03-24: 6 commits2026-03-25: 2 commits2026-03-26: 2 commits2026-03-27: 1 commit2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 2 commits2026-03-31: 1 commit2026-04-01: 3 commits2026-04-02: 5 commits2026-04-03: 2 commits2026-04-04: 0 commits2026-04-05: 2 commits2026-04-06: 3 commits2026-04-07: 10 commits2026-04-08: 2 commits2026-04-09: 0 commits2026-04-10: 10 commits2026-04-11: 0 commits2026-04-12: 2 commits2026-04-13: 0 commits2026-04-14: 4 commits2026-04-15: 4 commits2026-04-16: 6 commits2026-04-17: 4 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 2 commits2026-04-22: 0 commits2026-04-23: 1 commit2026-04-24: 1 commit2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 1 commit2026-04-28: 1 commit2026-04-29: 2 commits2026-04-30: 4 commits2026-05-01: 3 commits2026-05-02: 0 commits2026-05-03: 3 commits2026-05-04: 7 commits2026-05-05: 8 commits2026-05-06: 7 commits2026-05-07: 7 commits2026-05-08: 6 commits2026-05-09: 3 commits2026-05-10: 0 commits2026-05-11: 5 commits2026-05-12: 6 commits2026-05-13: 5 commits2026-05-14: 6 commits2026-05-15: 4 commits2026-05-16: 5 commits2026-05-17: 4 commits2026-05-18: 6 commits2026-05-19: 12 commits2026-05-20: 8 commits2026-05-21: 10 commits2026-05-22: 13 commits2026-05-23: 1 commit2026-05-24: 6 commits2026-05-25: 4 commits2026-05-26: 6 commits2026-05-27: 15 commits2026-05-28: 17 commits2026-05-29: 25 commits2026-05-30: 9 commits2026-05-31: 5 commits2026-06-01: 15 commits2026-06-02: 14 commits2026-06-03: 2 commits2026-06-04: 5 commits2026-06-05: 2 commits2026-06-06: 1 commit2026-06-07: 3 commits2026-06-08: 3 commits2026-06-09: 2 commits2026-06-10: 9 commits2026-06-11: 2 commits2026-06-12: 1 commit2026-06-13: 3 commits2026-06-14: 0 commits2026-06-15: 13 commits2026-06-16: 6 commits2026-06-17: 3 commits2026-06-18: 9 commits2026-06-19: 1 commit2026-06-20: 1 commit2026-06-21: 1 commit2026-06-22: 3 commits2026-06-23: 4 commits2026-06-24: 10 commits2026-06-25: 7 commits2026-06-26: 3 commits2026-06-27: 1 commit2026-06-28: 0 commits2026-06-29: 5 commits2026-06-30: 5 commits2026-07-01: 12 commits2026-07-02: 9 commits2026-07-03: 0 commits2026-07-04: 1 commit2026-07-05: 2 commits2026-07-06: 5 commits2026-07-07: 7 commits2026-07-08: 8 commits2026-07-09: 12 commits2026-07-10: 7 commits2026-07-11: 5 commits2026-07-12: 0 commits2026-07-13: 2 commits2026-07-14: 4 commits2026-07-15: 6 commits2026-07-16: 6 commits2026-07-17: 6 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 4 commits2026-07-21: 5 commits2026-07-22: 8 commits2026-07-23: 1 commit2026-07-24: 1 commit2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 5 commits2026-07-28: 17 commits2026-07-29: 2 commits2026-07-30: 16 commits2026-07-31: 15 commits2026-08-01: 2 commits2026-08-02: 1 commit2026-08-03: 6 commits2026-08-04: 19 commits2026-08-05: 4 commits2026-08-06: 10 commits2026-08-07: 3 commits2026-08-08: 0 commits2026-08-09: 2 commits2026-08-10: 1 commit2026-08-11: 2 commits2026-08-12: 4 commits2026-08-13: 5 commits2026-08-14: 8 commits2026-08-15: 2 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 2 commits2026-08-19: 3 commits2026-08-20: 5 commits2026-08-21: 1 commit2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 7 commits2026-08-25: 3 commits2026-08-26: 13 commits2026-08-27: 3 commits2026-08-28: 4 commits2026-08-29: 0 commits2026-08-30: 1 commit2026-08-31: 3 commits2026-09-01: 14 commits2026-09-02: 11 commits2026-09-03: 18 commits2026-09-04: 24 commits2026-09-05: 0 commits2026-09-06: 1 commit2026-09-07: 1 commit2026-09-08: 1 commit2026-09-09: 3 commits2026-09-10: 22 commits2026-09-11: 4 commits2026-09-12: 1 commit2026-09-13: 0 commits2026-09-14: 13 commits2026-09-15: 4 commits2026-09-16: 12 commits2026-09-17: 2 commits2026-09-18: 3 commits2026-09-19: 3 commits2026-09-20: 7 commits2026-09-21: 0 commits2026-09-22: 3 commits2026-09-23: 1 commit2026-09-24: 2 commits2026-09-25: 0 commits2026-09-26: 0 commits
1,157 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    10,539 stars

  • Very active

    1,157 commits in 52 weeks

  • Community-driven

    ~127 contributors

  • Permissive license

    MIT

  • Repeat trending

    7 trending appearances

What copilot-sdk does

The GitHub Copilot SDK provides an official programming interface to Copilot's AI services across multiple languages including Node.js, Python, Go, .NET, Rust, and Java. Rather than building raw HTTP clients to interact with LLMs, developers use this SDK to communicate with a local JSON-RPC server (the Copilot CLI), which handles authentication, routing, and tool execution. It abstracts away the complexity of managing LLM connections, supports defining custom agents and skills, and enables developers to extend Copilot's functionality using their own logic. Notably, it also supports a 'Bring Your Own Key' (BYOK) mode, allowing users to leverage supported models without a GitHub subscription.

This SDK is designed for software developers and enterprise teams looking to build custom, AI-powered developer tools, plugins, or automated agents backed by GitHub Copilot's infrastructure and models.

  • JSON-RPC server architecture: Communicates with a bundled or external Copilot CLI server to handle low-level LLM interactions securely.
  • Multi-language support: Provides official, idiomatic libraries for Node.js, Python, Go, .NET, Rust, and Java.
  • Bring Your Own Key (BYOK): Allows bypassing GitHub authentication by plugging in direct API keys for providers like OpenAI or Anthropic.
  • Custom agents and tools: Enables developers to define their own logic, tools, and skills to extend the base Copilot capabilities.
  • Built-in authentication: Natively handles GitHub OAuth tokens and environment variables without requiring manual token refresh logic.

Where teams use it

Custom IDE extensions

Tooling developers integrate the SDK into bespoke enterprise editors to provide context-aware code completion without writing raw API clients.

Automated code review bots

DevOps teams build CI/CD bots using the Python SDK that automatically analyze pull requests using Copilot's underlying models.

Internal CLI tools

Platform engineers use the Go SDK to build interactive terminal assistants that understand their company's proprietary infrastructure.

Provider-agnostic AI apps

Startups leverage the BYOK feature to prototype AI applications using OpenAI keys while maintaining compatibility with the Copilot ecosystem.

Getting started: npm i @github/copilot-sdk

README

main branch

GitHub Copilot CLI SDKs

GitHub Copilot SDK

NPM Downloads PyPI - Downloads NuGet Downloads Go Reference crates.io Maven Central

Agents for every app.

Embed Copilot's agentic workflows in your application with the GitHub Copilot SDK for Python, TypeScript, Go, .NET, Java, and Rust.

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.

Available SDKs

SDK Location Cookbook Installation API docs
Node.js / TypeScript nodejs/ Cookbook npm install @github/copilot-sdk
Python python/ Cookbook pip install github-copilot-sdk
Go go/ Cookbook go get github.com/github/copilot-sdk/go API docs
.NET dotnet/ Cookbook dotnet add package GitHub.Copilot.SDK
Rust rust/ — cargo add github-copilot-sdk API docs
Java java/ Cookbook Maven coordinates
com.github:copilot-sdk-java
See instructions for Maven and Gradle
API docs

See the individual SDK READMEs for installation, usage examples, and API reference.

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 Go, Java, and Rust, install the CLI manually or ensure copilot is available in your PATH. Go and Rust also expose application-level CLI bundling features.

  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 usage allowance. For more information on Copilot usage billing, see Usage 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, Microsoft 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, Java, and Rust SDKs, the CLI is not bundled by default. Install the CLI manually or ensure copilot is available in your PATH. Go and Rust also expose application-level CLI bundling features.

Advanced: You can override the CLI binary or connect to an external server. See the individual SDK README for language-specific options.

What tools are enabled by default?

By default, the SDK exposes the Copilot CLI's first-party tools, similar to running the CLI with --allow-all. Tool execution is still governed by each SDK's permission handler, so applications can approve, deny, or customize tool calls. 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 to the Copilot CLI documentation for the list of available tools.

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 or SDK guidance for Copilot to speed up development?

Yes, check out the custom instructions and SDK-specific guidance:

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 generally available and follows semantic versioning. See CHANGELOG.md for release notes.

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

Unofficial, Community-maintained SDKs

⚠️ Disclaimer: These are unofficial, community-driven SDKs and they are not supported by GitHub. Use at your own risk.

SDK Location
Clojure copilot-community-sdk/copilot-sdk-clojure
C++ 0xeb/copilot-sdk-cpp

Contributing

See CONTRIBUTING.md for contribution guidelines.

License

MIT

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

146 total
  1. v1.0.15-preview.3v1.0.15-preview.3Sep 24, 2026pre-release

    ### Feature: structured JSON-RPC error data in Go, .NET, and Java Go, .NET, and Java can now inspect the raw JSON `data` payload of a JSON-RPC error response instead of only its code and message. This mirrors capabilities already available in TypeScript, Python, and Rust, letting apps branch on machine-readable error details. ([#2732](https://github.com/github/copilot-sdk/pull/2732)) ```go var rpcErr *copilot.RPCError if errors.As(err, &rpcErr) { fmt.Printf("RPC error %d: %s\n", rpcErr.Code, rpcErr.Message) } ``` ```cs catch (IOException ex) when (ex.InnerException is RemoteRpcException remote) { Console.Error.WriteLine($"RPC error {remote.ErrorCode}: {remote.Message}"); } ``` ```java catch (JsonRpcException e) { JsonNode data = e.getData(); } ``` Omitted `data` and explicit JSON `null` remain distinguishable in all three APIs, and existing error identity, wrapping, and formatting behavior are unchanged. > [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `github.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatt

  2. v1.0.15-preview.2v1.0.15-preview.2Sep 23, 2026pre-release

    Internal dependency updates only — this prerelease contains no user-visible SDK changes since [v1.0.15-preview.1](https://github.com/github/copilot-sdk/releases/tag/v1.0.15-preview.1). The only changes are automated Copilot CLI snapshot updates for internal testing. **Full Changelog**: https://github.com/github/copilot-sdk/compare/v1.0.15-preview.1...v1.0.15-preview.2 > [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `github.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "github.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by [Release Notes Generator](https://github.com/github/copilot-sdk/actions/runs/35918094282) · copilot · auto · 59.3 AIC · ⌖ 8.22 AIC · ⊞ 9K <!-- gh-aw-agentic-workflow: Release Notes Generator, engine: copilot, model: auto, id: 35918094282, workflow_id: release-changelog, run: https://github.com/github/copilot-sdk/actions/runs/35918094282 --

  3. v1.0.15-preview.1v1.0.15-preview.1Sep 22, 2026pre-release

    Internal dependency updates only — this prerelease contains no user-visible SDK changes since [v1.0.15-preview.0](https://github.com/github/copilot-sdk/releases/tag/v1.0.15-preview.0). The only changes are automated Copilot CLI snapshot updates for internal testing. **Full Changelog**: https://github.com/github/copilot-sdk/compare/v1.0.15-preview.0...v1.0.15-preview.1 > [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `github.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "github.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by [Release Notes Generator](https://github.com/github/copilot-sdk/actions/runs/35792423812) · copilot · auto · 42.6 AIC · ⌖ 5.58 AIC · ⊞ 9K <!-- gh-aw-agentic-workflow: Release Notes Generator, engine: copilot, model: auto, id: 35792423812, workflow_id: release-changelog, run: https://github.com/github/copilot-sdk/actions/runs/35792423812 --

  4. v1.0.15-preview.0v1.0.15-preview.0Sep 21, 2026pre-release

    ### Feature: typed structured outputs for all six SDKs Provide a JSON Schema, or use an idiomatic typed helper, to have the model return typed, validated output instead of free-form text. ([#2590](https://github.com/github/copilot-sdk/pull/2590)) ```ts const answerSchema = z.object({ value: z.number().int() }); const answer = await session.sendAndWait("What is 19 + 23?", answerSchema); ``` ```python class Answer(BaseModel): value: int answer = await session.send_and_wait_typed("What is 19 + 23?", Answer) ``` ```csharp var answer = await session.SendAndWaitAsync("What is 19 + 23?"); public sealed record Answer(int Value); ``` Go, Java, and Rust get the same capability via `copilot.SendAndWait[Answer]`, `session.sendAndWait(prompt, Answer.class)`, and `session.send_and_wait_typed(prompt)` respectively. ### Feature: structured JSON-RPC error data in Rust `copilot::Error` now preserves the optional `data` payload from JSON-RPC errors so callers can inspect machine-readable error details instead of just the message. ([#2664](https://github.com/github/copilot-sdk/pull/2664)) ```rust if let Some(data) = error.rpc_data() { println!("{data}"); } ``` ### Other changes - fe

  5. v1.0.14v1.0.14Sep 16, 2026

    ### Feature: typed message provenance for user, system, and agent sources Messages sent through the SDK can now carry typed source provenance, distinguishing human `user` input, internal `system` injections, and identified `agent-` senders, so recipients can reliably tell agent input from human authorization. ([#2573](https://github.com/github/copilot-sdk/pull/2573)) ```ts await session.send("Looks good to me.", { source: "agent-reviewer" }); ``` ```py await session.send("Looks good to me.", source=AgentMessageSource("reviewer")) ``` ### Feature: Auto model routing Fast tier Sessions using `auto` model routing can now select the `fast` tier alongside the existing `efficiency`, `balance`, and `intelligence` tiers, giving integrators a latency-focused routing preset across all six SDKs. ([#2669](https://github.com/github/copilot-sdk/pull/2669)) ```ts await session.setAutoTier("fast"); ``` ### Feature: force-refresh managed settings cache The new `managedSettings.clearCache` RPC method wipes the persistent server-policy cache and drops the runtime's in-memory retained policy, giving hosts a primitive for a "force refresh account policy" action. ([#2438](https://github.com/gith

Code frequency

additions and deletions
+163.6K-163.6KWeek of 2026-01-11: +43,413 linesWeek of 2026-01-11: -706 linesWeek of 2026-01-18: +82,268 linesWeek of 2026-01-18: -70,444 linesWeek of 2026-01-25: +7,793 linesWeek of 2026-01-25: -861 linesWeek of 2026-02-01: +16,676 linesWeek of 2026-02-01: -12,749 linesWeek of 2026-02-08: +9,639 linesWeek of 2026-02-08: -1,317 linesWeek of 2026-02-15: +21,238 linesWeek of 2026-02-15: -952 linesWeek of 2026-02-22: +7,589 linesWeek of 2026-02-22: -1,716 linesWeek of 2026-03-01: +29,748 linesWeek of 2026-03-01: -12,835 linesWeek of 2026-03-08: +11,724 linesWeek of 2026-03-08: -2,201 linesWeek of 2026-03-15: +12,114 linesWeek of 2026-03-15: -5,069 linesWeek of 2026-03-22: +2,559 linesWeek of 2026-03-22: -825 linesWeek of 2026-03-29: +19,928 linesWeek of 2026-03-29: -11,771 linesWeek of 2026-04-05: +14,761 linesWeek of 2026-04-05: -5,025 linesWeek of 2026-04-12: +21,673 linesWeek of 2026-04-12: -12,516 linesWeek of 2026-04-19: +26,121 linesWeek of 2026-04-19: -20,719 linesWeek of 2026-04-26: +49,396 linesWeek of 2026-04-26: -23,590 linesWeek of 2026-05-03: +65,634 linesWeek of 2026-05-03: -9,283 linesWeek of 2026-05-10: +56,229 linesWeek of 2026-05-10: -19,409 linesWeek of 2026-05-17: +163,634 linesWeek of 2026-05-17: -40,541 linesWeek of 2026-05-24: +122,254 linesWeek of 2026-05-24: -89,485 linesWeek of 2026-05-31: +20,553 linesWeek of 2026-05-31: -6,330 linesWeek of 2026-06-07: +39,029 linesWeek of 2026-06-07: -15,155 linesWeek of 2026-06-14: +24,667 linesWeek of 2026-06-14: -3,699 linesWeek of 2026-06-21: +40,221 linesWeek of 2026-06-21: -6,350 linesWeek of 2026-06-28: +40,459 linesWeek of 2026-06-28: -10,087 linesWeek of 2026-07-05: +21,751 linesWeek of 2026-07-05: -3,992 linesWeek of 2026-07-12: +17,737 linesWeek of 2026-07-12: -4,722 linesWeek of 2026-07-19: +9,624 linesWeek of 2026-07-19: -637 linesWeek of 2026-07-26: +54,502 linesWeek of 2026-07-26: -16,271 linesWeek of 2026-08-02: +16,886 linesWeek of 2026-08-02: -2,611 linesWeek of 2026-08-09: +127,667 linesWeek of 2026-08-09: -117,356 linesWeek of 2026-08-16: +74,289 linesWeek of 2026-08-16: -34,819 linesWeek of 2026-08-23: +21,050 linesWeek of 2026-08-23: -2,222 linesWeek of 2026-08-30: +50,776 linesWeek of 2026-08-30: -12,828 linesWeek of 2026-09-06: +18,050 linesWeek of 2026-09-06: -1,831 linesWeek of 2026-09-13: +68,398 linesWeek of 2026-09-13: -15,348 linesWeek of 2026-09-20: +98,907 linesWeek of 2026-09-20: -26,897 linesJan 11, 2026Sep 20, 2026
+1.5M lines added, -623.2K removed over the last year.

Commits per week

last 52 weeks
820Week of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 13 commitsWeek of 2026-01-18: 43 commitsWeek of 2026-01-25: 37 commitsWeek of 2026-02-01: 38 commitsWeek of 2026-02-08: 5 commitsWeek of 2026-02-15: 24 commitsWeek of 2026-02-22: 28 commitsWeek of 2026-03-01: 51 commitsWeek of 2026-03-08: 31 commitsWeek of 2026-03-15: 23 commitsWeek of 2026-03-22: 12 commitsWeek of 2026-03-29: 13 commitsWeek of 2026-04-05: 27 commitsWeek of 2026-04-12: 20 commitsWeek of 2026-04-19: 4 commitsWeek of 2026-04-26: 11 commitsWeek of 2026-05-03: 41 commitsWeek of 2026-05-10: 31 commitsWeek of 2026-05-17: 54 commitsWeek of 2026-05-24: 82 commitsWeek of 2026-05-31: 44 commitsWeek of 2026-06-07: 23 commitsWeek of 2026-06-14: 33 commitsWeek of 2026-06-21: 29 commitsWeek of 2026-06-28: 32 commitsWeek of 2026-07-05: 46 commitsWeek of 2026-07-12: 24 commitsWeek of 2026-07-19: 19 commitsWeek of 2026-07-26: 57 commitsWeek of 2026-08-02: 43 commitsWeek of 2026-08-09: 24 commitsWeek of 2026-08-16: 11 commitsWeek of 2026-08-23: 30 commitsWeek of 2026-08-30: 71 commitsWeek of 2026-09-06: 33 commitsWeek of 2026-09-13: 37 commitsWeek of 2026-09-20: 13 commitsSep 27, 2025Sep 20, 2026
1.2K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 2 commitsSun 1:00 — 0 commitsSun 2:00 — 1 commitsSun 3:00 — 0 commitsSun 4:00 — 1 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 1 commitsSun 8:00 — 3 commitsSun 9:00 — 0 commitsSun 10:00 — 6 commitsSun 11:00 — 4 commitsSun 12:00 — 3 commitsSun 13:00 — 1 commitsSun 14:00 — 1 commitsSun 15:00 — 0 commitsSun 16:00 — 1 commitsSun 17:00 — 4 commitsSun 18:00 — 1 commitsSun 19:00 — 1 commitsSun 20:00 — 5 commitsSun 21:00 — 4 commitsSun 22:00 — 5 commitsSun 23:00 — 2 commitsMon 0:00 — 1 commitsMon 1:00 — 0 commitsMon 2:00 — 4 commitsMon 3:00 — 1 commitsMon 4:00 — 1 commitsMon 5:00 — 2 commitsMon 6:00 — 0 commitsMon 7:00 — 1 commitsMon 8:00 — 3 commitsMon 9:00 — 5 commitsMon 10:00 — 9 commitsMon 11:00 — 11 commitsMon 12:00 — 9 commitsMon 13:00 — 11 commitsMon 14:00 — 16 commitsMon 15:00 — 10 commitsMon 16:00 — 25 commitsMon 17:00 — 15 commitsMon 18:00 — 4 commitsMon 19:00 — 5 commitsMon 20:00 — 7 commitsMon 21:00 — 7 commitsMon 22:00 — 9 commitsMon 23:00 — 8 commitsTue 0:00 — 2 commitsTue 1:00 — 3 commitsTue 2:00 — 2 commitsTue 3:00 — 3 commitsTue 4:00 — 5 commitsTue 5:00 — 2 commitsTue 6:00 — 4 commitsTue 7:00 — 9 commitsTue 8:00 — 16 commitsTue 9:00 — 12 commitsTue 10:00 — 10 commitsTue 11:00 — 9 commitsTue 12:00 — 9 commitsTue 13:00 — 8 commitsTue 14:00 — 15 commitsTue 15:00 — 17 commitsTue 16:00 — 24 commitsTue 17:00 — 18 commitsTue 18:00 — 21 commitsTue 19:00 — 4 commitsTue 20:00 — 6 commitsTue 21:00 — 5 commitsTue 22:00 — 8 commitsTue 23:00 — 6 commitsWed 0:00 — 10 commitsWed 1:00 — 5 commitsWed 2:00 — 0 commitsWed 3:00 — 3 commitsWed 4:00 — 6 commitsWed 5:00 — 3 commitsWed 6:00 — 5 commitsWed 7:00 — 4 commitsWed 8:00 — 7 commitsWed 9:00 — 6 commitsWed 10:00 — 10 commitsWed 11:00 — 9 commitsWed 12:00 — 14 commitsWed 13:00 — 16 commitsWed 14:00 — 12 commitsWed 15:00 — 12 commitsWed 16:00 — 22 commitsWed 17:00 — 29 commitsWed 18:00 — 10 commitsWed 19:00 — 7 commitsWed 20:00 — 8 commitsWed 21:00 — 6 commitsWed 22:00 — 9 commitsWed 23:00 — 7 commitsThu 0:00 — 9 commitsThu 1:00 — 1 commitsThu 2:00 — 4 commitsThu 3:00 — 2 commitsThu 4:00 — 5 commitsThu 5:00 — 2 commitsThu 6:00 — 3 commitsThu 7:00 — 6 commitsThu 8:00 — 9 commitsThu 9:00 — 15 commitsThu 10:00 — 8 commitsThu 11:00 — 12 commitsThu 12:00 — 9 commitsThu 13:00 — 12 commitsThu 14:00 — 17 commitsThu 15:00 — 30 commitsThu 16:00 — 21 commitsThu 17:00 — 15 commitsThu 18:00 — 14 commitsThu 19:00 — 11 commitsThu 20:00 — 8 commitsThu 21:00 — 17 commitsThu 22:00 — 17 commitsThu 23:00 — 8 commitsFri 0:00 — 13 commitsFri 1:00 — 0 commitsFri 2:00 — 1 commitsFri 3:00 — 3 commitsFri 4:00 — 3 commitsFri 5:00 — 4 commitsFri 6:00 — 5 commitsFri 7:00 — 3 commitsFri 8:00 — 4 commitsFri 9:00 — 16 commitsFri 10:00 — 9 commitsFri 11:00 — 18 commitsFri 12:00 — 14 commitsFri 13:00 — 13 commitsFri 14:00 — 15 commitsFri 15:00 — 13 commitsFri 16:00 — 13 commitsFri 17:00 — 12 commitsFri 18:00 — 9 commitsFri 19:00 — 8 commitsFri 20:00 — 4 commitsFri 21:00 — 13 commitsFri 22:00 — 5 commitsFri 23:00 — 4 commitsSat 0:00 — 4 commitsSat 1:00 — 5 commitsSat 2:00 — 0 commitsSat 3:00 — 1 commitsSat 4:00 — 1 commitsSat 5:00 — 2 commitsSat 6:00 — 3 commitsSat 7:00 — 1 commitsSat 8:00 — 0 commitsSat 9:00 — 2 commitsSat 10:00 — 3 commitsSat 11:00 — 1 commitsSat 12:00 — 2 commitsSat 13:00 — 1 commitsSat 14:00 — 4 commitsSat 15:00 — 4 commitsSat 16:00 — 3 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 2 commitsSat 20:00 — 2 commitsSat 21:00 — 2 commitsSat 22:00 — 8 commitsSat 23:00 — 4 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Aug 3, 2026daily#5+142
Aug 2, 2026daily#5+142
Aug 1, 2026daily#6+7
Jan 25, 2026daily#18+218
Jan 24, 2026daily#9+295
Jan 23, 2026daily#2+1,014
Jan 22, 2026daily#23+151
  • freeCodeCamp/freeCodeCamp

    freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

    456.7K stars · TypeScript

  • openclaw/openclaw

    The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

    391.3K stars · TypeScript

  • anomalyco/opencode

    The open source coding agent.

    211.7K stars · TypeScript

  • n8n-io/n8n

    Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

    206.7K stars · TypeScript

  • microsoft/vscode

    Visual Studio Code

    193.5K stars · TypeScript

  • firecrawl/firecrawl

    Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥

    188.6K stars · TypeScript