github / github/copilot-cli

ACP session.create rejects claude-opus-4.7 despite interactive path supporting it

Offen
#2,782 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
area:models area:non-interactive
Vorherrschende Sprache
Shell
Sterne
11.2k
Forks
1.9k
Ø Merge
14 Std. 16 Min.
Gemergte PRs (30 T.)
6

Beschreibung

### Describe the bug

The ACP (Agent Client Protocol) `session.create` RPC rejects `claude-opus-4.7` as "not available", even though the same CLI version exposes 4.7 on the interactive path.

This blocks external orchestrators (Conductor, Anthropic Agent SDK bindings, Zed, etc.) from driving Copilot sessions with 4.7 — the interactive model list and the ACP allowlist appear to be managed separately, and 4.7 only made it into the interactive list.

### Affected version

GitHub Copilot CLI 1.0.31 (also reproduced on 1.0.29 and 1.0.30 — `Add support for Claude Opus 4.7` in the 1.0.29 release notes clearly applied only to the interactive path).

### Steps to reproduce the behavior

1. Install Copilot CLI 1.0.31.
2. Confirm 4.7 is available on the interactive path:
```bash
copilot -p "list models"
# Output includes: claude-opus-4.7 (premium) ← current
```
3. Drive the CLI via ACP and request 4.7 — e.g. via `conductor` or any tool that spawns `copilot --acp` and calls `session.create` with `model: "claude-opus-4.7"`. Minimal repro via conductor:
```bash
# YAML agent definition with:
# model: claude-opus-4.7
conductor run my-workflow.yaml --input x=1
```

### Expected behavior

ACP `session.create` accepts `claude-opus-4.7` (and any other model listed on the interactive path for which the user is entitled), creating the session.

### Actual behavior

```
Copilot SDK call failed: JSON-RPC Error -32603: Request session.create failed with message: Model "claude-opus-4.7" is not available.
```

Retries all fail identically; the session never starts.

### Additional context

- Interactive list and ACP allowlist should be kept in sync — this is the second model to diverge (Sonnet 4.5 previously had a related `/models` vs 400-error mismatch, cf. #2597).
- The user-visible contract for ACP clients is "any model on `/models` should work" — that's the invariant being broken here.
- Not a model-entitlement issue on my end: 4.7 works fine in interactive mode in the same shell with the same auth.

### Workaround

Pin orchestrated workflows to `claude-opus-4.6-1m` until the ACP allowlist is updated.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start with the copilot --acp entry point and the session.create RPC's model validation, then compare it with the interactive model list and the related mismatch in #2597. The fix is complete when entitled models exposed interactively, including claude-opus-4.7, are accepted by session.create and a regression check covers the invariant.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
shell
Bereich
api, cli
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.