github / github/app

Desktop cannot resume sessions with newer CLI via COPILOT_CLI_PATH (missing session.permissions.getAllowAll)

Đang mở
#3,284 0 bình luận 1 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
2.1k
Fork
153
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### Short summary

GitHub Copilot Desktop accepts a newer Copilot CLI through `COPILOT_CLI_PATH`, but existing local sessions cannot reconnect because the app calls a JSON-RPC method the newer CLI does not expose.

### Affected version or release

- GitHub Copilot app: `v1.1.14`
- Copilot CLI override: `v1.0.81-14` prerelease
- Also reproduced with Copilot CLI `v1.0.81` stable
- Bundled Copilot CLI `v1.0.80` works

### Installation context

Windows 11 x64 desktop app, local project sessions. The CLI override points to a local `copilot.exe` using the documented `COPILOT_CLI_PATH` mechanism.

### What happened?

I configured `COPILOT_CLI_PATH` so the desktop app could use the latest Copilot CLI prerelease. The app starts the requested CLI successfully and detects its version, but reopening an existing session shows:

> We couldn't reconnect to your session

The session history is still present and its `events.jsonl` is valid JSONL. The backend log shows the CLI session itself reaches the resumed state, then Desktop fails a follow-up permission RPC:

```text
CLI session resumed
session resume flow completed
failed to resume session ... RPC error -32601: Unhandled method session.permissions.getAllowAll
```

The same failure occurs with the now-stable CLI `1.0.81`. Changing the session permission mode from **Approve all** to **Assisted** did not make the external CLI compatible.

Removing `COPILOT_CLI_PATH`, restarting the app, and allowing it to use bundled CLI `1.0.80` restores the same session immediately.

### Steps to reproduce

1. Install GitHub Copilot Desktop `1.1.14` on Windows.
2. Set user environment variable `COPILOT_CLI_PATH` to Copilot CLI `1.0.81-14` or stable `1.0.81`.
3. Start the desktop app and confirm it detects the external CLI.
4. Open an existing local session from the sidebar.
5. Observe “We couldn't reconnect to your session.”
6. Inspect the app log and observe `RPC error -32601: Unhandled method session.permissions.getAllowAll`.
7. Remove `COPILOT_CLI_PATH`, restart Desktop, and open the same session using bundled CLI `1.0.80`; it resumes successfully.

### Expected behavior

The desktop app should support current Copilot CLI prereleases through `COPILOT_CLI_PATH`, or negotiate/check the CLI protocol version before starting sessions.

If a selected CLI is incompatible, Desktop should reject it during startup with a clear compatibility message and optionally fall back to its bundled CLI. It should not accept the override and fail only when a user resumes a session.

### Additional context

- Latest GitHub Copilot app release at reproduction time: `1.1.14`
- Latest Copilot CLI stable release: `1.0.81`
- Latest prerelease tested: `1.0.81-14`
- The prerelease and stable CLI both launch as `copilot.exe --server --stdio --no-auto-update`.
- No session-file corruption was found.
- Related but not duplicate:
- #924 covers restoring a session after allow-all was disabled by policy.
- #2879 covers retries reusing a broken pooled CLI transport.

This is both a compatibility bug and a developer-channel gap: `COPILOT_CLI_PATH` provides an override, but there is no compatibility negotiation or supported way to exercise the latest CLI prerelease in Desktop safely.

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

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

Hướng nghiên cứu

Bắt đầu bằng cách lần theo đường dẫn khởi động của COPILOT_CLI_PATH và luồng tiếp tục phiên phát hành session.permissions.getAllowAll. Tái hiện với CLI 1.0.81 và phiên bản đi kèm 1.0.80, sau đó kiểm tra cách giao thức JSON-RPC được phát hiện hoặc thương lượng. Hoàn thành có nghĩa là các CLI không tương thích được xác định trước khi tiếp tục, với thông báo rõ ràng hoặc phương án fallback an toàn, trong khi các phiên tương thích vẫn kết nối lại được.

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

Đánh giá

Công nghệ
github
Lĩnh vực
cli, desktop
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/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.