Skip to content

ACP does not advertise Copilot Fusion or its tier configuration when Fusion is available interactively #5354

Open

Description

@simonsteiner

Describe the bug

Copilot Fusion is available in the interactive Copilot CLI, but ACP advertises the routing model as Auto and exposes no Fusion/Auto-tier configuration.

This prevents ACP clients such as T3 Code from displaying Fusion and offering its tier selector. The behavior reproduces directly with copilot --acp, without T3 Code.

Enabling COPILOT_CLI_ENABLED_FEATURE_FLAGS=DYNAMIC_AUTO_TIERS for the ACP subprocess did not change the observed advertisement.

This report concerns model discovery and configuration parity. It does not establish that auto cannot route to Fusion internally.

Affected version

GitHub Copilot CLI 1.0.105.

Steps to reproduce the behavior

  1. Use an account for which Fusion is available in the interactive Copilot CLI's model picker.

  2. Launch the same CLI version as an ACP server:

    copilot --acp
  3. Send newline-delimited JSON-RPC requests through stdin. Initialize the connection:

    {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":1,"clientCapabilities":{},"clientInfo":{"name":"fusion-acp-repro","version":"1.0.0"}}}
  4. Create a session, replacing /absolute/path/to/workspace with an existing workspace:

    {"jsonrpc":"2.0","id":2,"method":"session/new","params":{"cwd":"/absolute/path/to/workspace","mcpServers":[]}}
  5. Inspect the returned model options and session configuration. Observed:

    • The routing model has ID auto and display name Auto, not Copilot Fusion.
    • Duplicate auto options were present.
    • No Fusion/Auto-tier configuration option was advertised.
    • With the initial Claude selection, configuration IDs were mode, model, reasoning_effort, agent, and allow_all.
  6. Select Auto, substituting the returned session ID:

    {"jsonrpc":"2.0","id":3,"method":"session/set_config_option","params":{"sessionId":"<session-id>","configId":"model","value":"auto"}}

    The resulting configuration IDs were mode, model, agent, and allow_all. reasoning_effort disappeared, but no Fusion/Auto-tier option appeared.

  7. Restart the server with the dynamic-tier feature flag and repeat:

    COPILOT_CLI_ENABLED_FEATURE_FLAGS=DYNAMIC_AUTO_TIERS copilot --acp

    Fusion naming and tier configuration were still absent.

The advertised /model command was also tested through ACP. It returned:

The model-picker dialog is only available in the interactive CLI.

Expected behavior

When Fusion is available for the authenticated account, ACP should expose enough metadata and configuration for clients to:

  • Identify the routing option as Copilot Fusion where appropriate.
  • Discover supported tiers and the current selection.
  • Change tiers through the supported ACP configuration interface.

Keeping auto as the stable underlying model ID is fine; a separate model ID is not required.

If Fusion tier selection is intentionally unsupported over ACP, please document that limitation and the supported alternative.

Additional context

Environment

  • macOS, Apple Silicon (arm64).
  • Copilot CLI: 1.0.105.
  • Affected ACP client: T3 Code desktop nightly 0.1.8-nightly.20261104.4179.
  • Direct ACP reproduction bypassed T3 entirely.

Cross-surface observations

  • Interactive Copilot CLI: Fusion available.
  • VS Code Agents Window: "Copilot Fusion" with "High" tier visible.
  • Regular VS Code Chat: Fusion not visible.
  • T3 Code via Copilot ACP: Auto available, no Fusion tier selector.

The regular VS Code Chat observation may have a separate cause and is included for context, not as evidence of an ACP defect.

Investigation findings

  • T3 reads advertised ACP model/configuration options and preserves their names. The direct reproduction demonstrates that the missing metadata exists upstream of T3's picker.
  • Repeating the probe with T3's Copilot-specific client capability metadata also did not expose Fusion or tier configuration.
  • The inspected VS Code Agent Host implementation explicitly enables dynamic Auto tiers and uses discovered Fusion-tier metadata to present auto as Fusion.
  • That VS Code source checkout references Copilot runtime 1.0.106-6, so its behavior is not a same-runtime comparison with CLI 1.0.105.
  • No model-generation request was used to verify which backend auto ultimately executes.

Related reports

These appear related, but none was confirmed to cover ACP model/configuration advertisement specifically.

Documentation: https://docs.github.com/en/copilot/concepts/models/copilot-fusion

Prepared with GitHub Copilot in T3 Code using Auto model selection. The specific underlying model was not exposed by the session.

Activity

  1. jjliggett commented on Nov 4, 2026

    @jjliggett

    +1 on this, and the timing makes it more important.

    Now that Copilot Fusion is generally available, more teams are being encouraged to adopt it, especially because of the near-frontier quality at lower cost (and the 30% discount through the end of November). ACP clients like T3 Code can't currently reach it: copilot --acp advertises the routing model as Auto and exposes no Fusion or tier configuration, so users in those clients can't select Fusion or choose an effort level.

    The interactive CLI, the Copilot app, VS Code and JetBrains all support Fusion, so ACP is the one path where people are told to use it and can't. Two things would close the gap:

    1. Advertise Fusion as a selectable model over ACP (the CLI docs use fusion as the model name).
    2. Expose the effort tier (standard / high / max) as a configuration option, so clients can render a tier selector. Related: missing --fusion-tier argument #5290 notes that --fusion-tier is missing in 1.0.105.

    🤖 Drafted with Claude Sonnet 5.5

  2. added
    area:modelsModel selection, availability, switching, rate limits, and model-specific behavior
    area:non-interactiveNon-interactive mode (-p), CI/CD, ACP protocol, and headless automation
    and removed on Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions