Skip to content

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

Description

@ms-jb

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:

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

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions