LLM temperature is a sampling setting that controls how random a language model's next-word choices are: at 0 the model nearly always picks its most likely word, and higher values spread choices across less likely words.
As of November 11, 2026, most new flagship models won't let you change it. Anthropic's current API rejects it, Gemini 4 ignores it, and GPT-6 Astra can't take it.
So the useful question has moved from "what should I set?" to "does my model still accept it?"
Temperature is a dial on the odds of the next word
A model doesn't write a word directly. It gives every candidate next word a score, turns the scores into probabilities, and then draws one. Temperature divides every score by the same number before that conversion. A small divisor stretches the gaps between candidates, so the favorite wins almost every draw. A large one squeezes the gaps, so the long shots come up more often.
Here is a made-up example to show the arithmetic. A model is finishing "Third-quarter sales were" and scores three candidates: "strong" at 5, "flat" at 3, and "mixed" at 2.
| Temperature | "strong" | "flat" | "mixed" |
|---|---|---|---|
| 0 | Always picked | Never | Never |
| 0.2 | 100.0% | 0.0% | 0.0% |
| 0.5 | 98.0% | 1.8% | 0.2% |
| 1.0 | 84.4% | 11.4% | 4.2% |
| 1.5 | 71.5% | 18.8% | 9.7% |
| 2.0 | 62.9% | 23.1% | 14.0% |
At the default of 1.0, roughly one sentence in six goes somewhere other than "strong". At 0.5 it's one in fifty. Temperature 0 is a special case, because dividing by zero isn't defined: providers treat it as "take the top word", which is called greedy decoding.
Two things follow from the table. A lower temperature doesn't make the model smarter. It makes the model commit harder to whatever it already ranked first, including when that first choice is wrong. And over a long answer, small odds add up. A 15% chance of a different word at every step means two runs of the same prompt can part ways within a sentence.
Top-p and top-k cut the list before the draw
Temperature changes the odds. Top-p and top-k remove candidates altogether.
Top-k keeps only the k most likely words. With k set to 2 in the example, "mixed" can never appear, at any temperature. Top-p, also called nucleus sampling, keeps the smallest group of words whose probabilities add up to p. At temperature 1.0 with top-p of 0.9, "strong" and "flat" together reach 95.8%, so the draw happens between those two and "mixed" is dropped.
Labs often publish the pair they used. Moonshot ran Kimi K3.1 Pro at temperature 1.0 and top-p 0.95 for its October 23, 2026 launch table, and DeepSeek's September 10 snapshot for DeepSeek V4.1 Flash 1017 used the same pair. Reflection ran Beam 1.0 at 0.7 and 0.99. When a model card lists these, it's the closest thing to a recommended setting the lab has published, because those are the conditions behind its scores.
The three settings are now leaving together. Anthropic's newest API version rejects all three, and Google lists all three as ignored on Gemini 4.
Every large lab defaults to 1.0, and most won't let you change it
We read each provider's API documentation on November 11, 2026. The pattern is the same at all three large labs: the default is 1.0, and on current flagship models you can't move it.
| Provider | Default | What current models do with a custom value |
|---|---|---|
| Anthropic | 1.0 | API version 2026-10-21 returns a 400 error for temperature, top_p or top_k, even at the default. Claude 4.7 and later accept only the defaults on the older version too. |
| OpenAI | Not stated on the pages we could read | With reasoning effort above none, remove temperature, top_p and top_logprobs. GPT-6 Astra and GPT-6.1 Sol don't offer none. GPT-6.1 Terra, GPT-6 Sol and GPT-6 Luna do. |
| 1.0 | Gemini 4 and Gemini 3.6 or later ignore custom temperature, top_p and top_k, send a deprecation warning header, and will return 400 errors in a future release. |
|
| DeepSeek | 1.0 | Accepted. DeepSeek publishes a value per task: 0.0 for coding and math, 1.0 for data analysis, 1.3 for conversation and translation, and 1.5 for creative writing. |
| OpenRouter | Passes on the provider's default | Accepts 0.0 to 2.0. With default routing, a provider that doesn't support a parameter receives the request and ignores the parameter. |
Two details in that table catch people. Anthropic's change isn't limited to new models: under version 2026-10-21, a request that lowered temperature on Claude Sonnet 4.6 loses that effect, and Anthropic's guide says no other setting replaces it. And OpenRouter's documentation says that at 0 "the model always gives the same response for a given input", while its routing guide says unsupported parameters are dropped. Both can be true only on the models that still accept 0.
For the OpenAI side of this, our Responses API migration guide has the rest of the parameters that changed with GPT-6.
Temperature 0 doesn't make repeat answers identical
We had tested this before we went looking for it. Our support-ticket evidence kit sends 30 synthetic tickets to a model and checks four extracted fields against reviewed answers. In five filed runs on September 14 and September 25, 2026, we sent 900 requests through OpenRouter, each one asking for temperature 0, with every ticket repeated three times per configuration.
Across the 289 sets where all three repeats returned an answer, 277 came back identical, character for character. Seven sets changed a label, either the ticket's category or its urgency. Three differed only in spacing inside a copied sentence, which our checker ignores. Two had one repeat cut off at the 300-token limit after the model spent its budget reasoning.
The label changes weren't random across the fixture. All 100 sets built on routine tickets, where every field is stated plainly, came back identical. Six of the seven changes landed on tickets that leave a field missing or contradict themselves. Given "Not urgent. Urgent. Please export my data.", GPT-5.6 Terra filed the ticket as unknown, then feature, then account in three runs on September 14.
Then we checked which of those requests could have applied the 0 at all. Anthropic says Claude 4.7 and later accept only the default sampling settings, which covers the Claude Sonnet 5 runs. OpenAI says temperature goes away whenever a GPT-6 model reasons, and GPT-6 Astra can't switch reasoning off, while GPT-6 Sol recorded reasoning tokens on 75 of its 174 answered calls. With default routing, OpenRouter lets a provider ignore what it doesn't support. That leaves GPT-5.6 Terra as the one model where the 0 may have been applied, and OpenAI's current guide doesn't say either way. Terra produced five of the seven label changes. GPT-6 Astra, which could not have applied the 0, returned the same JSON on all 58 of its sets.
So in our runs, asking for temperature 0 did two things. It mostly did nothing, and where it may have worked, it didn't stop the model wavering on the tickets that were hard to read. We can't separate the reasons from these rows. Server-side batching, routing, and reasoning settings all vary between requests. What the rows do show is where to look: run each case at least three times, and a change between repeats points at the input the model finds ambiguous. The receipts are in the evidence kit, and our structured-output guide covers the checks.
For coding, extraction and writing, the model decides what you can set
Start by finding out whether your model accepts the setting. If it doesn't, the request either fails or quietly runs at the default, and in both cases the number you chose has no effect.
| Job | Model accepts temperature | Model ignores or rejects it |
|---|---|---|
| Extraction and classification | 0 to 0.2, plus a strict output schema | Leave it out. Use the schema, exact checks, and three repeats per case |
| Code | DeepSeek recommends 0.0. For agent loops, use the lab's published pair, usually 1.0 with top-p 0.95 | Leave it out. Set reasoning effort instead |
| Writing and brainstorming | The default of 1.0. DeepSeek suggests 1.5 for creative writing | Leave it out. Ask for several options in one prompt |
| Reasoning models | The lab's published value, which is nearly always 1.0 | Leave it out |
Low settings have a failure case of their own. Google warns that setting Gemini 3 below its 1.0 default "may lead to unexpected behavior, such as looping or degraded performance", and greedy decoding is the classic way to get a model repeating the same phrase. So 0 is our pick for short, structured answers on a model that still takes it, and the wrong pick for long free text or anything that reasons.
If you came here to make answers consistent, temperature is the weaker tool now. Fix the prompt and the schema, pin the exact model version, and measure the repeats, as our guide to evaluating an LLM lays out. Our prompt-writing guide covers the wording side.
Benchmark scores are mostly measured at temperature 1.0
A benchmark score belongs to one configuration, and temperature is part of it. So we counted what independent evaluators actually set. Vals AI publishes the settings behind each result, and our November 10, 2026 capture of its tables holds 3,794 model-and-benchmark rows across 65 benchmarks.
| Temperature Vals AI recorded | Rows |
|---|---|
| 1.0 | 1,869 |
| 0.7 | 519 |
| 0.6 | 81 |
| 0.9 | 38 |
| 0 | 37 |
| Other values between 0.065 and 0.4 | 82 |
| None recorded | 1,168 |
Of the 2,626 rows with a value, 71% ran at 1.0 and 1.4% at 0. Every row for GPT-6 Astra, GPT-6.1 Sol and GPT-6 Luna records no temperature at all, which matches OpenAI's rule for reasoning models. Claude Opus 5.5 ran at 1.0 on 35 of its 37 rows. The visible exceptions are by lab: Vals ran Grok 4.7 at 0.7 on 32 of 35 rows and Qwen3.8 Max at 0.7 on 35 of 37.
Labs' own tables lean the same way. Besides the Moonshot and DeepSeek pairs above, Meituan ran LongCat-2.5 at 1.0 with top-p 0.95 and Meta reported Muse Spark Open at 1.0. Liquid used 0.6 for LFM3-1.7B, and JetBrains scored Mellum's non-agentic tests with greedy decoding.
We haven't measured how much a different temperature moves a score, and we don't have rows that isolate it. What the count does establish is narrower. The scores on our leaderboard describe models sampled at or near their defaults, so a production setup that forces 0 is running a configuration almost nobody benchmarked. When a benchmark page compares two results, check that they used the same sampling. Our methodology explains how we keep differently configured results apart.
The next thing to watch is OpenAI. Anthropic has removed the parameter and Google has scheduled the errors. If OpenAI's next release drops none from its smaller models too, temperature will survive mainly on open-weight models and the hosts that serve them.
Frequently asked questions
01What is a good temperature for an LLM?
Start from the provider's default, which is 1.0 at Anthropic, Google and DeepSeek. Go lower, toward 0, only for extraction or code on a model that still accepts the setting, and higher only for brainstorming. On current Claude models, GPT-6 Astra and Gemini 4, the setting is ignored or rejected, so leave it out.
02Can you set LLM temperature to 0?
Only where the model accepts it. DeepSeek recommends 0.0 for coding and math. Anthropic's API version of October 21, 2026 rejects any temperature, Gemini 4 ignores custom values, and GPT-6 Astra takes none because it always reasons. Where 0 is accepted, expect repeat requests to match most of the time, not every time.
03What is temperature 0.1 in an LLM?
Temperature 0.1 is close to always picking the most likely next word. It divides every candidate's score by 0.1 before the scores become probabilities, which multiplies the gaps between candidates tenfold. A word that was a 1-in-10 option at the default becomes vanishingly rare, so outputs read almost the same from run to run.
04What is the default temperature for Claude and Gemini?
Both use 1.0. Anthropic's migration guide says a request without the parameter samples at 1.0, and current Claude models accept only that value. Google recommends keeping Gemini 3 models at their 1.0 default and says Gemini 4 and Gemini 3.6 or later ignore custom values. Both pages were read on November 11, 2026.
External sources linked in this article
1- 01Vals AIvals.ai
