Copilot SDK v1.0.0-beta.3: Mode Handlers & Tracing
Copilot SDK beta.3 adds mode handler APIs for plan approval, structured tracing diagnostics across .NET/Python/Rust, and explicit session telemetry control. Two bug fixes for C# enums and Rust MIME types.
TL;DR
- Mode handler APIs let you control plan-mode exits and auto-switching after rate limits
- New structured tracing diagnostics across .NET, Python, and Rust SDKs
- Session telemetry is now explicitly configurable
New
- Mode handler callbacks — Register
onExitPlanModeandonAutoModeSwitchhandlers to approve or deny plan transitions and model switches after rate-limit recovery. Available in JavaScript, C#, Python, and Go. - SDK tracing diagnostics — .NET, Python, and Rust SDKs now emit structured logs covering CLI startup, TCP connections, JSON-RPC timing, session lifecycle, and errors. Python uses stdlib
loggingundercopilot.*loggers; Rust usestracingwith structured fields. - Session telemetry control — New
enableSessionTelemetryoption onSessionConfigandResumeSessionConfiglets you explicitly enable or disable runtime telemetry collection.
Fixed
- C# enum deserialization — Session-event enums are now string-backed readonly structs, preventing failures when the runtime adds new enum values.
- Rust MIME type defaults — Binary tool result resource blobs now default to
application/octet-streamwhenmimeTypeis absent.
Update: npm install @github/copilot-sdk@1.0.0-beta.3 or check your language-specific package manager.
Source: Copilot SDK