Add supports_disabling_thinking to Cloud model listings - #58980
Merged
Conversation
Claude Fable 5 always thinks and cannot honor a request with thinking disabled, but the cloud models listing gave clients no way to tell it apart from models where thinking is optional (e.g. Claude Opus 4.6). Mirror the new supports_disabling_thinking field from the cloud listing (zed-industries/cloud#2789) through cloud_llm_client and expose it on the LanguageModel trait. In the agent panel, hide the thinking toggle for models that report false and show only the effort selector; ignore the ToggleThinkingMode action for them; and force thinking_allowed in completion requests so a toggle state left over from a previously selected model can't request the impossible. Release Notes: - Fixed the agent panel offering a thinking toggle for models that cannot run with thinking disabled.
eholk
force-pushed
the
supports-disabling-thinking
branch
from
June 9, 2026 22:53
6a2f0ff to
4f93a78
Compare
eholk
marked this pull request as ready for review
June 9, 2026 23:18
anantdgoel
approved these changes
Jun 10, 2026
This was referenced Jun 18, 2026
Closed
This was referenced Jul 1, 2026
This was referenced Jul 10, 2026
jonx
pushed a commit
to jonx/zed-aros
that referenced
this pull request
Jul 17, 2026
…es#58980) Claude Fable 5 always thinks and cannot honor a request with thinking disabled, but the cloud models listing gives clients no way to tell it apart from models where thinking is optional (e.g. Claude Opus 4.6): both report `supports_thinking: true` plus the same adaptive effort levels. As a result, the agent panel shows a thinking toggle for Fable even though turning it off isn't actually supported. zed-industries/cloud#2789 adds a `supports_disabling_thinking` field to the models listing. This PR mirrors it through `cloud_llm_client::LanguageModel` (serde-defaulted to `false`, so a server without the field is treated as "don't claim thinking can be turned off") and exposes it as `LanguageModel::supports_disabling_thinking()`, forwarded from the listing by `CloudLanguageModel`. The agent panel now hides the thinking toggle for models that report `false`, showing only the effort selector. The trait default is `true`: every non-cloud provider in the tree treats thinking as toggleable today, and only the cloud listing knows about always-thinking models. Draft until zed-industries/cloud#2789 lands and deploys. Release Notes: - Fixed the agent panel offering a thinking toggle for models that cannot run with thinking disabled.
jolutz
pushed a commit
to jolutz/zed
that referenced
this pull request
Aug 8, 2026
…es#58980) Claude Fable 5 always thinks and cannot honor a request with thinking disabled, but the cloud models listing gives clients no way to tell it apart from models where thinking is optional (e.g. Claude Opus 4.6): both report `supports_thinking: true` plus the same adaptive effort levels. As a result, the agent panel shows a thinking toggle for Fable even though turning it off isn't actually supported. zed-industries/cloud#2789 adds a `supports_disabling_thinking` field to the models listing. This PR mirrors it through `cloud_llm_client::LanguageModel` (serde-defaulted to `false`, so a server without the field is treated as "don't claim thinking can be turned off") and exposes it as `LanguageModel::supports_disabling_thinking()`, forwarded from the listing by `CloudLanguageModel`. The agent panel now hides the thinking toggle for models that report `false`, showing only the effort selector. The trait default is `true`: every non-cloud provider in the tree treats thinking as toggleable today, and only the cloud listing knows about always-thinking models. Draft until zed-industries/cloud#2789 lands and deploys. Release Notes: - Fixed the agent panel offering a thinking toggle for models that cannot run with thinking disabled.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Claude Fable 5 always thinks and cannot honor a request with thinking disabled, but the cloud models listing gives clients no way to tell it apart from models where thinking is optional (e.g. Claude Opus 4.6): both report
supports_thinking: trueplus the same adaptive effort levels. As a result, the agent panel shows a thinking toggle for Fable even though turning it off isn't actually supported.zed-industries/cloud#2789 adds a
supports_disabling_thinkingfield to the models listing. This PR mirrors it throughcloud_llm_client::LanguageModel(serde-defaulted tofalse, so a server without the field is treated as "don't claim thinking can be turned off") and exposes it asLanguageModel::supports_disabling_thinking(), forwarded from the listing byCloudLanguageModel. The agent panel now hides the thinking toggle for models that reportfalse, showing only the effort selector.The trait default is
true: every non-cloud provider in the tree treats thinking as toggleable today, and only the cloud listing knows about always-thinking models.Draft until zed-industries/cloud#2789 lands and deploys.
Release Notes: