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 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.