Skip to content

Zero-idle sessions: SDK never emits session.idle event #299

@PureWeen

Description

@PureWeen

Problem

Some copilot CLI sessions never emit a session.idle event after the turn completes. This means CompleteResponse never fires, leaving IsProcessing=true until the watchdog kills it.

Current workaround

  • FlushCurrentResponse on AssistantTurnEndEvent persists content so it's not lost
  • 5-second heartbeat timer in Dashboard catches missed UI renders
  • Watchdog eventually clears stuck processing state

Root cause

Unknown — appears to be a copilot CLI/SDK bug in headless mode. The SDK emits assistant.turn_end but never follows with session.idle.

Desired fix

Investigate why session.idle is missing and fix at the SDK level. Once fixed, the heartbeat interval can be relaxed from 5s to 15-30s (keep as defense-in-depth).

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingexternalUpstream bug or dependency issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions