github / github/copilot-cli

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

Đang mở
#3,559 3 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:context-memory area:sessions
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

## 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start by examining the session data under ~/.copilot/session-state/*/events.jsonl and reproduce the duplicate fc_call_* failure with Copilot CLI 1.0.54 on macOS. Trace how session-state items are replayed into websocket payloads; done means affected sessions no longer resend duplicate IDs and the existing recovery or reset behavior is covered by verification.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
macos
Lĩnh vực
cli
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.