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.

Copilot SDK v1.0.0-beta.3: Mode Handlers & Tracing

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 onExitPlanMode and onAutoModeSwitch handlers 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 logging under copilot.* loggers; Rust uses tracing with structured fields.
  • Session telemetry control — New enableSessionTelemetry option on SessionConfig and ResumeSessionConfig lets 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-stream when mimeType is absent.

Update: npm install @github/copilot-sdk@1.0.0-beta.3 or check your language-specific package manager.

Source: Copilot SDK