Skip to content

No reasoning at all through Github Copilot provider #6864

Closed

Description

@Coruscant11

Description

Validate thinking in VSCode

Image Image

Attempt to get thinking in opencode

opencode.jsonc

{
  "$schema": "https://opencode.ai/config.json",
  "theme": "aura",
  "autoupdate": true,
  "provider": {
    "github-copilot": {
      "models": {
        "[Custom] Opus 4.5 Thinking": {
          "id": "claude-opus-4.5",
          "reasoning": true,
          "options": {
            "thinking": {
              "type": "enabled",
              "budgetTokens": 32000,
            },
          }
        },
      }
    }
  }
}

A conversation example:

Image

opencode export

{
  "info": {
    "id": "ses_4753afc9affenaSxWVHstiDVAN",
    "version": "1.1.1",
    "projectID": "e53faf218247b17967230b742668df6addde9727",
    "directory": "/home/jcarlens/Development/sesm",
    "title": "Checking assistant reasoning",
    "time": {
      "created": 1767559725925,
      "updated": 1767559730475
    },
    "summary": {
      "additions": 0,
      "deletions": 0,
      "files": 0
    }
  },
  "messages": [
    {
      "info": {
        "id": "msg_b8ac50368001zOrnH6Xk5rnVK3",
        "sessionID": "ses_4753afc9affenaSxWVHstiDVAN",
        "role": "user",
        "time": {
          "created": 1767559725933
        },
        "summary": {
          "title": "Asking about reasoning",
          "diffs": []
        },
        "agent": "build",
        "model": {
          "providerID": "github-copilot",
          "modelID": "[Custom] Opus 4.5 Thinking"
        }
      },
      "parts": [
        {
          "id": "prt_b8ac50368002yxYgBf1OX3yO1R",
          "sessionID": "ses_4753afc9affenaSxWVHstiDVAN",
          "messageID": "msg_b8ac50368001zOrnH6Xk5rnVK3",
          "type": "text",
          "text": "Are you reasoning?"
        }
      ]
    },
    {
      "info": {
        "id": "msg_b8ac503730018iRxad0NY14TX9",
        "sessionID": "ses_4753afc9affenaSxWVHstiDVAN",
        "role": "assistant",
        "time": {
          "created": 1767559725939,
          "completed": 1767559730467
        },
        "parentID": "msg_b8ac50368001zOrnH6Xk5rnVK3",
        "modelID": "[Custom] Opus 4.5 Thinking",
        "providerID": "github-copilot",
        "mode": "build",
        "agent": "build",
        "path": {
          "cwd": "/home/jcarlens/Development/sesm",
          "root": "/home/jcarlens/Development/sesm"
        },
        "cost": 0,
        "tokens": {
          "input": 327,
          "output": 77,
          "reasoning": 0,
          "cache": {
            "read": 10534,
            "write": 0
          }
        },
        "finish": "stop"
      },
      "parts": [
        {
          "id": "prt_b8ac5101b001lc4JrFFJfRMDvj",
          "sessionID": "ses_4753afc9affenaSxWVHstiDVAN",
          "messageID": "msg_b8ac503730018iRxad0NY14TX9",
          "type": "step-start",
          "snapshot": "e0066eb511d26f679f2ba4739f14047f10f435aa"
        },
        {
          "id": "prt_b8ac5101c001ZUyiAP75JVK2pe",
          "sessionID": "ses_4753afc9affenaSxWVHstiDVAN",
          "messageID": "msg_b8ac503730018iRxad0NY14TX9",
          "type": "text",
          "text": "No, I'm not using an extended reasoning or \"thinking\" mode. I'm a standard Claude model responding directly to your messages. I process your input and generate responses, but I don't have a separate visible chain-of-thought or reasoning trace that I'm working through before answering.\n\nIs there something specific you'd like help with in your project?",
          "time": {
            "start": 1767559730442,
            "end": 1767559730442
          }
        },
        {
          "id": "prt_b8ac5150c001FbC86cMHHQDIoA",
          "sessionID": "ses_4753afc9affenaSxWVHstiDVAN",
          "messageID": "msg_b8ac503730018iRxad0NY14TX9",
          "type": "step-finish",
          "reason": "stop",
          "snapshot": "e0066eb511d26f679f2ba4739f14047f10f435aa",
          "cost": 0,
          "tokens": {
            "input": 327,
            "output": 77,
            "reasoning": 0,
            "cache": {
              "read": 10534,
              "write": 0
            }
          }
        }
      ]
    }
  ]
}

I also tried to put any value in the reasoning, nothing seems to break the API. Maybe the options are ignored?

Thanks for your hardwork!

Plugins

No response

OpenCode version

1.1.1

Steps to reproduce

  1. Connect to github copilot provider
  2. Either use built-in Opus 4.5 with any built-in variants, or try to configure a custom model
  3. Ask anything to see a chain of thougth

Screenshot and/or share link

No response

Operating System

Ubuntu 24.04

Terminal

Ghostty

Activity

  1. Coruscant11 commented on Jan 4, 2026

    @Coruscant11
    Author

    Note: I did the same kind of exercice with GPT 5.2 (with the reasoning effort settings), same issue.

  2. Coruscant11 commented on Jan 4, 2026

    @Coruscant11
    Author

    I tried to run mitmproxy to see VSCode requests body.
    Here is a snippet:

    {
      "messages": [
        {
          "role": "system",
          "content": "You are an expert AI...",
          "copilot_cache_control": {
            "type": "ephemeral"
          }
        }
      ],
      "model": "claude-opus-4.5",
      "temperature": 0,
      "top_p": 1,
      "max_tokens": 16000,
      "tools": [],
      "n": 1,
      "stream": true,
      "thinking_budget": 15999
    }

    I removed some useless details.
    It seems like it defines a thinking_budget field in the root of the JSON payload the the /completions endpoint. Interesting.

  3. Coruscant11 commented on Jan 4, 2026

    @Coruscant11
    Author

    GPT 5.2 through copilot:

    {
      "model": "gpt-5.2",
      "input": [
        {
          "role": "system",
          "content": []
        }
      ],
      "stream": true,
      "tools": [],
      "max_output_tokens": 64000,
      "store": false,
      "truncation": "disabled",
      "reasoning": {
        "effort": "high",
        "summary": "detailed"
      },
      "include": [
        "reasoning.encrypted_content"
      ]

    We can see the reasoning and include at the root too.
    From what I understood, this is because it uses the Responses API. While opencode use the completions one for my test prompts. OpenCode is apparently using Respones API only for codex according to my opencode thread.

  4. changed the title [-]No reasoning at all with Opus 4.5 through Github Copilot provider[/-] [+]No reasoning at all through Github Copilot provider[/+] on Jan 4, 2026
  5. NicolaiOksen commented on Jan 7, 2026

    @NicolaiOksen

    I'm seeing the same issue. Would love to be able to configure thinking/reasoning for Copilot models.

  6. jbuckmccready commented on Jan 9, 2026

    @jbuckmccready

    This is a critical bug if wanting to use copilot provider as there is a huge difference for models like gpt 5.2 with reasoning on/off.

  7. pushad commented on Jan 12, 2026

    @pushad

    Also would like to know if this is getting implemented.

  8. dreambit commented on Jan 12, 2026

    @dreambit

    same for me

  9. iamim commented on Jan 13, 2026

    @iamim

    Would be very helpful to have it since Anthropic subscription is not an option anymore.

  10. hazrid93 commented on Jan 16, 2026

    @hazrid93

    so is it actually reasoning but we dont see the thinking block or its not reasoning at all?

  11. Coruscant11 commented on Jan 16, 2026

    @Coruscant11
    Author

    @hazrid93 no reasoning at all.

  12. doriuf commented on Jan 16, 2026

    @doriuf

    Hope this gets fixed

  13. hazrid93 commented on Jan 16, 2026

    @hazrid93

    @thdxr hope this get priority

  14. 8 remaining items

  15. rekram1-node commented on Jan 19, 2026

    @rekram1-node
    Contributor

    Responses reasoning fixed, next we need to do completions

  16. hjnnjh commented on Jan 21, 2026

    @hjnnjh

    Has this issue been resolved?

  17. MichaelYochpaz commented on Jan 21, 2026

    @MichaelYochpaz
    Contributor

    I'm getting the same issue, but with GCP Vertex as a provider for Opus 4.5. Is anyone else experiencing that?

  18. rekram1-node commented on Jan 21, 2026

    @rekram1-node
    Contributor

    @MichaelYochpaz that would be separate and specific to gcp, same thing happens even w/ ctrl+t?

  19. MichaelYochpaz commented on Jan 21, 2026

    @MichaelYochpaz
    Contributor

    @rekram1-node Thanks for the response. Yep, I tried switching modes, it didn't make a difference.

    I asked here because that's the only related issue I could find, and the fact that no one else opened an issue about this made me doubt that maybe it's just me doing something wrong (I'm a new OpenCode user).

    But regardless, I opened a new issue specifically for Vertex - #9894

  20. jbuckmccready commented on Jan 21, 2026

    @jbuckmccready

    Tested and reasoning is working with GPT-5.2 but unsure how to configure reasoning/thinking for Opus 4.5 through Github copilot.

  21. rekram1-node commented on Jan 21, 2026

    @rekram1-node
    Contributor

    @jbuckmccready that's because completions hasn't been fixed yet, see here

  22. rekram1-node commented on Jan 21, 2026

    @rekram1-node
    Contributor

    @MichaelYochpaz mind opening a separate issue then?

  23. hjnnjh commented on Jan 22, 2026

    @hjnnjh

    @jbuckmccready that's because completions hasn't been fixed yet, see here

    I've been using copilot-api for quite some time now. this branch maybe helpful for fixing this issue.

  24. Coruscant11 commented on Jan 22, 2026

    @Coruscant11
    Author

    #10092 seems interesting

  25. amat27 commented on Jan 23, 2026

    @amat27

    looks like gemini 3 pro and opus still don't show thinking?

  26. rekram1-node commented on Jan 26, 2026

    @rekram1-node
    Contributor

    anthropic models should all work in next release, now just need to merge in that linked pr to get the google models working, but openai and anthropic shoudl both work fine w/ reasoning (in next release)

  27. rekram1-node commented on Jan 29, 2026

    @rekram1-node
    Contributor

    Unfortunately the messages api wasn't ready for us, going to fix it on completions api instead for now, people were getting 429s due to this change^ had to revert

  28. rekram1-node commented on Jan 31, 2026

    @rekram1-node
    Contributor

    Merging the pr tonight, also I learned that gemini models are expected not to have variants, so really it's just the anthropic models (cause openai ones work already)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions