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.
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.
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.
This expands the embedded coding-agent pattern beyond the Cursor SDK example into six languages around an existing CLI runtime. It also narrows adoption from a simple SDK choice to an application-boundary decision: permissions, authentication, billing, server topology, and language-specific CLI packaging must be designed as part of the product.