Sign InOpen Brain
GitHubGitHub RepoNeeds Review

github/copilot-sdk

GitHub now exposes the Copilot CLI agent runtime as SDKs for six languages, including planning, tools, and file edits. Builders can embed it with configurable permissions, auth, models, and BYOK.

GitHub · Trending today
Open Source Open MarkdownOpen JSON
Source Summary

The **GitHub Copilot SDK** embeds the Copilot CLI agent runtime in Python, TypeScript, Go, .NET, Java, and Rust. It supports planning, tool calls, file edits, custom agents, skills, MCP, runtime model discovery, and JSON-RPC connections to a managed or external CLI server.

Practical Implication

Treat its permission handler as an application boundary: default first-party tools resemble CLI allow-all access, but calls can be approved, denied, or customized. Choose between GitHub authentication and **BYOK**, then account for prompt-based usage billing.

Agent-Ready Context
The **GitHub Copilot SDK** embeds the Copilot CLI agent runtime in Python, TypeScript, Go, .NET, Java, and Rust. It supports planning, tool calls, file edits, custom agents, skills, MCP, runtime model discovery, and JSON-RPC connections to a managed or external CLI server.

Treat its permission handler as an application boundary: default first-party tools resemble CLI allow-all access, but calls can be approved, denied, or customized. Choose between GitHub authentication and **BYOK**, then account for prompt-based usage billing.

CLI packaging differs by language: **Node.js, Python, and .NET** bundle it, while Go, Java, and Rust require a PATH installation or supported app-level bundling. BYOK accepts provider keys but not Entra ID, managed identities, or third-party identity providers.
Connected Context · Feed7 Judgment

This expands the embedded coding-agent pattern into a multi-language SDK around an existing CLI runtime, with planning, edits, skills, MCP, and custom tools exposed to host applications. Against the candidates, the main narrowing is operational: permissions, authentication, billing, server topology, and language-specific CLI packaging are part of the product boundary, not incidental setup.

Context Map
toolscoding#agent-sdks#coding-agents#tool-use
Uncertainty
CLI packaging differs by language: **Node.js, Python, and .NET** bundle it, while Go, Java, and Rust require a PATH installation or supported app-level bundling. BYOK accepts provider keys but not Entra ID, managed identities, or third-party identity providers.