Repository navigation
fix(llm): stop sending temperature to Claude 5.x and pass DeepSeek reasoning back - #1129
Closed
sosidudku1 wants to merge 1 commit into
Closed
sosidudku1 wants to merge 1 commit into
sosidudku1 wants to merge 1 commit into
Conversation
…asoning back
Anthropic answers any temperature on Sonnet/Haiku/Opus 5.5 and Fable
with a 400 ("`temperature` is deprecated for this model"), so a fresh
Anthropic key failed on its first turn. Claude 5.x ids now get no
temperature, and the run-time lesson that already handled Moonshot's
"only 1 is allowed" also reads "deprecated / not supported" as "send
none": one resend without it, kept for the model.
DeepSeek's thinking mode refuses a tool loop unless every assistant
tool_calls message carries reasoning_content back. For api.deepseek.com
the native messages now always include it: the recorded reasoning
(within the existing budget) or an empty string.
Collaborator
Author
|
Closing as a duplicate of #1123, which covers the same fix more completely (cloud prompt path included). |
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.
What
Two cloud providers failed on their very first turn in Desktop 0.0.8:
400 "temperature" is deprecated for this model. We always senttemperature: 0.2. Claude 5.x ids (claude-{opus,sonnet,haiku,fable}-5…, also the dotted OpenRouter spelling) now get notemperatureat all. On top of that, the run-time lesson that already handled Moonshot's "only 1 is allowed" now also reads "temperature is deprecated / not supported / Unsupported parameter: 'temperature'" as "send none": one resend without the field, remembered for that model for the rest of the process (an operator'sextraBodytemperature is dropped too, since the service just refused it). Same for the image-description body.400 The reasoning_content in the thinking mode must be passed back to the API. We read the reasoning but never sent it back. Forapi.deepseek.comevery assistanttool_callsmessage in the native layout now carriesreasoning_content: the recorded reasoning of the current turn (within the existingPRESERVED_REASONING_TOKEN_BUDGET), or an empty string when none is known or the budget dropped it. Other hosts are unchanged, because strict APIs reject unknown fields.Why
Both are among the most used cloud providers and both broke on default settings for a new user. Linear: ATO-1397.
How it was verified
allowed-temperature.test.ts,model-params.test.ts,openai-temperature-retry.test.ts,openai-native-messages.test.ts, newreasoning-echo-url.test.ts.reasoning_contentfor a call whose reasoning we do not have (the current turn's calls do carry the real text).Not yet checked on the second Mac.