-
Notifications
You must be signed in to change notification settings - Fork 249
Reasoning effort can't be restored after selecting "off" on Claude Opus 4.7 (gateway rejects every non-off level with "use off") #980
Copy link
Copy link
Open
Labels
P2Normal priority bug or improvement with limited blast radius.Normal priority bug or improvement with limited blast radius.clawsweeper:current-main-reproClawSweeper found a high-confidence current-main issue reproduction.ClawSweeper found a high-confidence current-main issue reproduction.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerThis issue is about auth, provider routing, model choice, or SecretRef resolution.This issue is about auth, provider routing, model choice, or SecretRef resolution.impact:session-stateThis issue is about session, memory, transcript, context, or agent state drift.This issue is about session, memory, transcript, context, or agent state drift.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.User-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🦀 challenger crabExceptional issue quality: high-confidence current-main reproduction and actionable evidence.Exceptional issue quality: high-confidence current-main reproduction and actionable evidence.
Description
Metadata
Metadata
Assignees
Labels
P2Normal priority bug or improvement with limited blast radius.Normal priority bug or improvement with limited blast radius.clawsweeper:current-main-reproClawSweeper found a high-confidence current-main issue reproduction.ClawSweeper found a high-confidence current-main issue reproduction.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerThis issue is about auth, provider routing, model choice, or SecretRef resolution.This issue is about auth, provider routing, model choice, or SecretRef resolution.impact:session-stateThis issue is about session, memory, transcript, context, or agent state drift.This issue is about session, memory, transcript, context, or agent state drift.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.User-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🦀 challenger crabExceptional issue quality: high-confidence current-main reproduction and actionable evidence.Exceptional issue quality: high-confidence current-main reproduction and actionable evidence.
Type
Fields
Priority
Medium
Projects
StatusShow more project fields
UX
Summary
On
github-copilot/claude-opus-4.7, once a session's reasoning effort (thinkingLevel) is set to off, there is no way to switch it back to any reasoning level. Every non-offvalue the UI sends (medium,max, …) is rejected by the gateway with... is not supported for github-copilot/claude-opus-4.7 (use off). The model appeared to reason beforeoffwas selected, so this reads as a one-way trap.This is independent of the WinUI chat-composer redesign — it reproduces on the latest tip of
mainand is a gateway/model-metadata + session-state issue, not a composer-layout issue. Filing separately so it isn't bundled into the composer PR.Environment
maingithub-copilot/claude-opus-4.7(providergithub-copilot, apianthropic-messages)Steps to reproduce
github-copilot/claude-opus-4.7.medium(or any other level).Expected
The user can restore the model's previous/default reasoning behavior (either a working reasoning level, or a clearly-labeled "default"/"on" state).
Actual
The switch silently fails; the session stays on
off. The gateway rejects the patch:There is no exposed path back to the model's default reasoning state — the only gateway-accepted explicit value is
off.Evidence: contradictory model metadata
models.listreports this model as non-reasoning yet simultaneously advertises a full effort list:{ "id": "claude-opus-4.7", "name": "Claude Opus 4.7", "provider": "github-copilot", "api": "anthropic-messages", "contextWindow": 128000, "reasoning": false, "compat": { "supportedReasoningEfforts": ["low","medium","high","xhigh","max"] }, "available": true }So
reasoning: falseandcompat.supportedReasoningEfforts: [low,medium,high,xhigh,max]disagree, and thesessions.patchvalidator only acceptsoff. A UI cannot trust the advertised effort list to decide what is selectable.Analysis / open questions
Two candidate root causes (need gateway-side confirmation):
offleaves no way to return to that default — there's nodefault/unset/onvalue the UI can send, andoffis the only accepted explicit value. If so, the gateway and/or UI needs a way to clear/restore the default reasoning state.reasoningmetadata for Copilot-hosted Anthropic models — if Opus 4.7 truly supports reasoning through Copilot,reasoning: false(and the patch validator'suse off) is wrong and should be corrected so real efforts are accepted.Impact
reasoningvssupportedReasoningEffortsmetadata makes it impossible for the client to present an accurate, gate-correct reasoning picker.Notes for the client-side follow-up
reasoningflag and disable unsupported efforts instead of letting them silently fail). That improves honesty but does not solve the core problem — restoring reasoning afteroff— because the gateway still accepts onlyofffor this model. The real fix depends on resolving the open questions above (a "default/restore" path and/or correct metadata).