Skip to content

BYOK statusline shows medium effort in 1.0.41 despite --effort high #3135

Open

Description

@Mapleeeeeeeeeee

Description

After upgrading to Copilot CLI 1.0.41, when using --effort high with a BYOK/custom provider, the actual request is still sent with reasoning_effort: "high", but the statusline receives model.display_name as gpt-5.5 (medium).

The same setup works correctly in Copilot CLI 1.0.40, where the statusline displays gpt-5.5 (high).

This looks like a regression in the statusline/UI display state: the actual request effort and the effort shown through the UI/statusline are out of sync.

Environment

  • Copilot CLI: 1.0.41
  • OS: macOS
  • Provider: BYOK / custom OpenAI-compatible provider
  • Wire API: responses
  • Model: gpt-5.5

Relevant environment variables:

COPILOT_PROVIDER_BASE_URL=http://<custom-provider>/v1
COPILOT_PROVIDER_API_KEY=<redacted>
COPILOT_PROVIDER_WIRE_API=responses
COPILOT_PROVIDER_TYPE=openai
COPILOT_MODEL=gpt-5.5
COPILOT_PROVIDER_MODEL_ID=gpt-5.5
COPILOT_PROVIDER_WIRE_MODEL=gpt-5.5

Launch command:

copilot --effort high

Expected behavior

The statusline payload should reflect the reasoning effort that is actually being used.

For example, with --effort high, the statusline payload should contain:

{
  "model": {
    "id": "gpt-5.5",
    "display_name": "gpt-5.5 (high)"
  }
}

Actual behavior

In 1.0.41, the statusline displays:

gpt-5.5 (medium)

That means the statusline payload display name is effectively:

{
  "model": {
    "id": "gpt-5.5",
    "display_name": "gpt-5.5 (medium)"
  }
}

However, the debug log shows that the actual request is using high:

Using custom provider: type=openai, baseUrl=http://<custom-provider>/v1, wireApi=responses
"model": "gpt-5.5"
"defaultReasoningEffort": "high"
"reasoning_effort": "high"

So the issue appears to be limited to the UI/statusline display state, not the actual request.

Comparison test

Using the same environment, same BYOK provider, same model, and same --effort high flag, only changing the Copilot CLI version:

Version Actual request reasoning_effort Statusline model.display_name
1.0.40 high gpt-5.5 (high)
1.0.41 high gpt-5.5 (medium)

Captured statusline payload from 1.0.40:

{
  "model": {
    "id": "gpt-5.5",
    "display_name": "gpt-5.5 (high)"
  }
}

Captured request settings from the 1.0.41 debug log:

"defaultReasoningEffort": "high"
"reasoning_effort": "high"

But the 1.0.41 statusline shows:

gpt-5.5 (medium)

Activity

  1. added
    area:modelsModel selection, availability, switching, rate limits, and model-specific behavior
    area:configurationConfig files, instruction files, settings, and environment variables
    on May 6, 2026
  2. added theissue type on May 6, 2026
  3. Mapleeeeeeeeeee commented on May 7, 2026

    @Mapleeeeeeeeeee
    Author

    Fixed in v1.0.43. Thanks!

  4. Mapleeeeeeeeeee commented on May 7, 2026

    @Mapleeeeeeeeeee
    Author

    Additional repro details after testing locally:

    Environment:

    COPILOT_PROVIDER_BASE_URL=http://<custom-provider>/v1
    COPILOT_PROVIDER_WIRE_API=responses
    COPILOT_MODEL=gpt-5.5
    COPILOT_PROVIDER_MODEL_ID=gpt-5.5
    COPILOT_PROVIDER_WIRE_MODEL=gpt-5.5-eu2

    Launch:

    copilot --effort high

    Observed on v1.0.43:

    • The built-in footer shows gpt-5.5 · medium.
    • The custom statusline payload/model display contains gpt-5.5-eu2 (gpt-5.5) (medium).
    • The debug log still shows the actual request is sent with high:
    "model": "gpt-5.5-eu2",
    "defaultReasoningEffort": "high",
    "reasoning_effort": "high"

    From inspecting the packaged app.js in the CLI binary, the footer/model hook appears to apply the CLI reasoning effort only once, then later the BYOK/custom-provider branch refreshes the UI state using the model default:

    if (firstCliEffort) {
      setReasoningEffort(await resolveEffort(model, cliReasoningEffort))
      return
    }
    
    if (hasCustomProvider) {
      setReasoningEffort(await providerDefaultEffort(model))
      return
    }

    The provider default resolver ultimately falls back to defaultReasoningEffort ?? "medium". For gpt-5.5, there is no explicit defaultReasoningEffort, so the footer display falls back to medium even when the request path still sends high.

    This makes the built-in footer/statusline unreliable for BYOK: with --effort high, the API receives high but the footer displays medium.

  5. sschyu commented on Aug 6, 2026

    @sschyu

    Similar issue here. The status line for the built-in GPT model also shows "Medium", though the effort settings are high / xhigh.

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:configurationConfig files, instruction files, settings, and environment variablesarea:modelsModel selection, availability, switching, rate limits, and model-specific behavior

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions