diff --git a/extensions/github-copilot/index.test.ts b/extensions/github-copilot/index.test.ts index 5b0deb9953b8..755261b0f74f 100644 --- a/extensions/github-copilot/index.test.ts +++ b/extensions/github-copilot/index.test.ts @@ -607,6 +607,26 @@ describe("github-copilot plugin", () => { expect(profile?.levels.map((level) => level.id)).toContain("xhigh"); }); + it("exposes xhigh and max thinking for the bundled Claude Opus 5 model", () => { + const provider = registerProviderWithPluginConfig({}); + const model = expectDefined( + manifest.modelCatalog.providers["github-copilot"].models.find( + (candidate) => candidate.id === "claude-opus-5", + ), + "bundled GitHub Copilot Claude Opus 5 model", + ); + + const profile = provider.resolveThinkingProfile({ + provider: "github-copilot", + modelId: model.id, + compat: model.compat, + }); + + expect(profile?.levels.map((level) => level.id)).toEqual( + expect.arrayContaining(["xhigh", "max"]), + ); + }); + it("exposes max thinking for catalog-supported Copilot reasoning efforts", () => { const provider = registerProviderWithPluginConfig({}); diff --git a/extensions/github-copilot/openclaw.plugin.json b/extensions/github-copilot/openclaw.plugin.json index 25b0591a59e2..1c477f9bd08b 100644 --- a/extensions/github-copilot/openclaw.plugin.json +++ b/extensions/github-copilot/openclaw.plugin.json @@ -44,7 +44,11 @@ "contextWindow": 1000000, "maxTokens": 128000, "cost": { "input": 5, "output": 25, "cacheRead": 0.5, "cacheWrite": 6.25 }, - "compat": { "codeMode": "capable" } + "compat": { + "codeMode": "capable", + "supportsReasoningEffort": true, + "supportedReasoningEfforts": ["low", "medium", "high", "xhigh", "max"] + } }, { "id": "claude-sonnet-5",