Skip to content

Fusion tier "high" silently resolves to policy "standard" (max works) #5457

Open

Description

@jj1xgo

Describe the bug

When I request the Copilot Fusion High tier, the session runs on the Standard policy instead. There is no error or warning. The session.fusion_resolved event records policy: "standard" with syntheticModel: "hydrafusion", the same values a Standard request produces. Requesting Max works as expected (policy: "max", syntheticModel: "hydrafusion-max").

This happened on every High request I made (3 of 3 non-interactive runs on 1.0.109, plus 1 check on 1.0.112). I can't find a log entry that explains why the tier changed.

Since --fusion-tier isn't available in the CLI (see #5290), I set the tier with "fusionTier": "high" in settings.json. The same method with "fusionTier": "max" does select Max, so the setting itself is read.

Affected version

GitHub Copilot CLI 1.0.109 and 1.0.112, Linux. Copilot Max plan (individual account).

Steps to reproduce the behavior

  1. Put "fusionTier": "high" in settings.json under COPILOT_HOME.
  2. Run copilot --model fusion -p "<a code review prompt>" (non-interactive).
  3. Open session-state/<session>/events.jsonl and find the session.fusion_resolved event.

Observed (trimmed):

{"syntheticModel":"hydrafusion","policy":"standard","routeSource":"capi_plan","pattern":"single",
 "primaryModel":"gpt-6.1-terra","policyVersion":"hydrafusion_v4_2026-11-10",
 "ruleId":"solo_terra61_high_reasoning_le_28"}

With "fusionTier": "max" and the same steps:

{"syntheticModel":"hydrafusion-max","policy":"max","routeSource":"capi_plan","pattern":"single",
 "primaryModel":"gpt-6-astra","policyVersion":"hydrafusion-max_v4_2026-11-12"}

Expected behavior

  • A High request runs on the High policy, or
  • if the service changes the tier (for example, High isn't available for the account or the request), the CLI says so and records the reason. At the moment no reason is given anywhere.

It would also help to document whether fusionTier in settings.json is supported, and which values it accepts.

Additional context

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions