Skip to content

Frequent websocket_error: Duplicate item found (fc_call_* replay from session-state) #3559

@drapetomaniac

Description

@drapetomaniac

Summary

I am repeatedly hitting this failure in Copilot CLI:

Execution failed: CAPIError: 400 {"error":{"code":"bad_request","type":"websocket_error","message":"Duplicate item found with id fc_call_<...>. Remove duplicate items from your input and try again."}}

This appears to be session-state replay/corruption of prior fc_call_* items. Once it starts in a session, subsequent prompts in that same session fail quickly with the same duplicate-id error.

Frequency (from local ~/.copilot/session-state/*/events.jsonl)

  • Sessions affected: 10
  • Duplicate-item error events: 29
  • Time window observed: 2026-05-28 ~18:46Z to ~19:43Z
  • Worst session: 3604526b-3b17-4790-b5f5-9d4359783706 with 15 events in ~4.5 minutes

Additional affected sessions:

  • 893105c9-9726-497f-a54c-c384bd5b51b3 (3)
  • 6257b848-6652-450c-b949-b8d0477d3b56 (2)
  • 63d34bda-bddd-4246-aca5-5258e94d88dd (2)
  • ce4e9dd9-bca8-4181-ac70-7c398be8e204 (2)
  • plus 5 more sessions with single occurrences

Repro pattern

  1. Normal interaction with tool calls.
  2. A turn fails with duplicate fc_call_* id.
  3. Retrying in the same session keeps failing with duplicate-id style websocket 400s.
  4. Only workaround is deleting the bad session directory or resetting session-state.

Impact

This happens frequently enough to materially disrupt use; repeated manual session resets are not productive.

Environment

  • Copilot CLI version: 1.0.54
  • OS: macOS (Darwin)

Please advise on mitigation and whether a client-side de-dup guard can be added before sending websocket payload items.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:context-memoryContext window, memory, compaction, checkpoints, and instruction loadingarea:sessionsSession management, resume, history, session picker, and session state

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions