Skip to content

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

@PolyphonyRequiem

Description

@PolyphonyRequiem

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:
    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:
    # 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. Claude Sonnet 4.5 Listed in "/models" but return 400 error #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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:modelsModel selection, availability, switching, rate limits, and model-specific behaviorarea:non-interactiveNon-interactive mode (-p), CI/CD, ACP protocol, and headless automation

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions