Copilot SDK v1.0.0-beta.7: Canvas Runtime & Remote Sessions
Copilot SDK beta.7 adds canvas runtime support for interactive UI, remote sessions, Java SDK parity, and new hooks for MCP tool interception. Major improvements across all language SDKs.
TL;DR
- Canvas runtime support for interactive UI surfaces in Copilot
- Remote session support at client or per-session level
- Java SDK now in monorepo with full parity
- New preMcpToolCall hook for intercepting tool invocations
New
- Canvas runtime support — Register a CanvasHandler to declare and handle interactive UI surfaces with onOpen, onAction, and onClose events routed through the Copilot runtime.
- Remote session support — Enable remote sessions globally via client option or on-demand per session with enable/disable methods.
- Cloud session config — Create cloud-backed remote sessions with repository metadata without requiring a local CLI process.
- preMcpToolCall hook — Intercept MCP tool invocations before execution to inspect, replace, or modify the _meta field sent to servers.
- Java SDK — Full Java SDK now in monorepo with session management, tool registration, hooks, and E2E test coverage.
- SDK tracing diagnostics — .NET, Python, and Rust SDKs now emit structured trace output for CLI startup, JSON-RPC timing, and session operations.
- Rust CLI bundled by default — Rust SDK now bundles the Copilot CLI binary at publish time; opt out with default-features = false.
- C# CopilotTool helper — New CopilotTool.DefineTool typed wrapper applies Copilot-specific metadata without magic strings.
- sessionId on hook inputs — All hook input types now include sessionId field to distinguish parent session hooks from sub-agent hooks.
- Session telemetry option — New enableSessionTelemetry session option across all SDKs.
- Custom agent model field — Add model field to CustomAgentConfig across all SDKs.
- Restore mode handler APIs — New restore mode handler APIs across SDKs.
- Runtime instructions — Add runtime_instructions system message section across all SDKs.
- SessionFs SQLite support — New SessionFs SQLite support for runtime routing.
- Optional tool callbacks — Tool callbacks now optional across SDKs.
- Optional MCP args — MCPStdioServerConfig.args now optional across all SDKs.
Fixed
- Go CLI stderr capture — Fixed CLI stderr capture and SetProcessDone race condition.
- Python optional fields — Fixed from_dict() round-trip for optional fields with schema defaults.
- C# CLI path handling — Now honors preinstalled CLI path in MSBuild targets.
Improvements
- C#, TypeScript, Go, Rust, and Python API review fixes.
- Shared generated schema definitions across SDKs.
- Deprecated APIs now hidden where supported.
- 32-bit types for bounded schema integers.
- Duration properties no longer include Ms suffix in generated types.
- C# symbols package (.snupkg) now published to NuGet.org.
- Go RPC generation replaced with native Go types.
- C# netstandard and net10 targets added.
- C# session events now use string enums and sealed types.
- C# x-opaque-json mapped to JsonElement at RPC params boundary.
- Go typed union interfaces generated.
Update via npm: npm install @github/copilot-sdk@1.0.0-beta.7
Source: Copilot SDK