Describe the bug
When using a BYOK Anthropic provider (type: "anthropic") with the Copilot SDK, several session events are never delivered to the SDK over the JSON-RPC notification channel. The SDK team investigated and confirmed the root cause is in the CLI.
See github/copilot-sdk#1064 for the full SDK-side investigation.
The following events fire correctly with the default backend and BYOK OpenAI, but are absent with BYOK Anthropic:
assistant.turn_start
assistant.turn_end
assistant.reasoning
assistant.reasoning_delta
session.usage_info
Affected version
GitHub Copilot CLI 1.0.24-0.
Steps to reproduce the behavior
A repro script that creates identical sessions across three backends and compares the set of event types delivered to on_event is available in the SDK issue linked above. Summary of output:
Default (claude-haiku-4.5): turn_start=2, turn_end=2, usage=2, message=2
BYOK Anthropic (claude-haiku-4-5): turn_start=0, turn_end=0, usage=2, message=2
BYOK Anthropic (claude-sonnet-4-6): turn_start=0, turn_end=0, usage=2, message=2
BYOK OpenAI (gpt-5.4-nano): turn_start=2, turn_end=2, usage=2, message=2
Expected behavior
All backends should emit assistant.turn_start and assistant.turn_end events. The SDK documentation lists both as non-ephemeral events that are always emitted, and the agent loop documentation states "the number of assistant.turn_start / assistant.turn_end pairs equals the total number of LLM API calls."
Additional context
- SDK:
github-copilot-sdk==0.2.2
- Provider: Azure AI Foundry with
type: "anthropic" provider config
- Models tested:
claude-haiku-4-5, claude-sonnet-4-6 -- both missing events
- Controls: Default backend and BYOK OpenAI (
gpt-5.4-nano) on the same Foundry endpoint emit all events correctly
- Impact: Code that relies on turn boundaries for per-turn token accounting gets no turn-level granularity with BYOK Anthropic.
assistant.usage events do fire, so session-level totals are still available.
Describe the bug
When using a BYOK Anthropic provider (
type: "anthropic") with the Copilot SDK, several session events are never delivered to the SDK over the JSON-RPC notification channel. The SDK team investigated and confirmed the root cause is in the CLI.See github/copilot-sdk#1064 for the full SDK-side investigation.
The following events fire correctly with the default backend and BYOK OpenAI, but are absent with BYOK Anthropic:
assistant.turn_startassistant.turn_endassistant.reasoningassistant.reasoning_deltasession.usage_infoAffected version
GitHub Copilot CLI 1.0.24-0.
Steps to reproduce the behavior
A repro script that creates identical sessions across three backends and compares the set of event types delivered to
on_eventis available in the SDK issue linked above. Summary of output:Expected behavior
All backends should emit
assistant.turn_startandassistant.turn_endevents. The SDK documentation lists both as non-ephemeral events that are always emitted, and the agent loop documentation states "the number ofassistant.turn_start/assistant.turn_endpairs equals the total number of LLM API calls."Additional context
github-copilot-sdk==0.2.2type: "anthropic"provider configclaude-haiku-4-5,claude-sonnet-4-6-- both missing eventsgpt-5.4-nano) on the same Foundry endpoint emit all events correctlyassistant.usageevents do fire, so session-level totals are still available.