Engineering Guide

Can You Change Claude's Temperature? Sampling Parameters Explained

Short answer: on Anthropic's current adaptive-thinking models — Claude Fable 5, Claude Opus 4.8 and Claude Opus 4.7 — you cannot turn the temperature up. Setting temperature, top_p or top_k to any non-default value returns an HTTP 400 error. Those knobs were removed. Older Claude models (the 3.x line through Opus 4.6) still accept temperature on a 0.0–1.0 scale, exactly like the "gpt temperature meaning" most people are looking for. This guide gives you the per-model support table, the reason the parameters went away, and the modern replacements — the effort parameter and prompt instructions — that actually change how varied or deterministic Claude's output is in 2026.

Claude temperature and sampling parameters — removed on new models, what to use instead

Can you turn the temperature up on Claude?

On current models — Claude Fable 5, Opus 4.8 and Opus 4.7 — no: temperature, top_p and top_k are removed, and setting any of them to a non-default value returns an HTTP 400 error. This is the direct answer to the popular query "is it possible to turn the temperature up on Claude". Starting with Claude Opus 4.7, Anthropic removed the sampling knobs entirely; the same holds on Opus 4.8, Sonnet 5, Fable 5 and Mythos 5. If your code still passes temperature=0.9, the request now fails outright rather than being silently ignored.

The good news: you have not lost control over how varied or how analytical Claude's output is — the control just moved. Two levers replaced the old one:

Older Claude models (the 3.x line through Opus 4.6) still accept temperature the old way. The rest of this guide covers both regimes and shows exactly which model does which.

What temperature actually means (and "gpt temperature meaning")

Temperature is a sampling parameter that injects randomness into which next token the model picks — low is analytical and repeatable, high is creative and varied. The concept is identical across vendors, which is why people search "gpt temperature meaning" and "claude temperature" interchangeably. At a low temperature the model concentrates probability on its top candidate tokens, so output is more deterministic-leaning. At a higher temperature the distribution flattens and lower-probability tokens get a real chance, so output is more surprising and diverse.

On the Claude models that do accept it, Anthropic's own API reference is precise: temperature ranges from 0.0 to 1.0, defaults to 1.0, and you use values closer to 0.0 for analytical or multiple-choice tasks and closer to 1.0 for creative work. One caveat matters for anyone chasing perfect reproducibility: even at temperature 0.0, results are not fully deterministic.

Provider gotcha. Claude's temperature ceiling is 1.0. Several other vendors expose a 0.0–2.0 scale, so a "temperature 1.5" snippet copied from another provider's docs would be out of range on the older Claude models that still accept the parameter — and simply rejected on the newer ones. Always read the target model's own reference rather than assuming a shared scale. The generic error you get from an out-of-range or unsupported parameter is a 400; see our LLM API error-code reference.

Sampling parameter support by Claude model

The dividing line is Claude Opus 4.7: everything from 4.7 onward rejects temperature/top_p/top_k; everything before it accepts them. This is the original reference table this guide exists for — verified against Anthropic's migration guide and effort docs (July 2026):

Modeltemperature / top_p / top_keffort parameterThinking regime
Claude Fable 5Removed → 400 errorYes (to max)Adaptive only
Claude Mythos 5Removed → 400 errorYes (to max)Adaptive
Claude Opus 4.8Removed → 400 errorYes (to max)Adaptive
Claude Opus 4.7Removed → 400 errorYes (to max)Adaptive
Claude Sonnet 5Removed → 400 errorYes (to max)Adaptive
Claude Opus 4.6AcceptedYes (to max)Manual
Claude Opus 4.5AcceptedYes (to xhigh)Manual (budget_tokens)
Claude 3.x (e.g. claude-3-7-sonnet)Accepted (0.0–1.0)NoStandard

Sources: Anthropic migration guide (parameter removal from Opus 4.7 on; 3.x still accepting temperature 0.7 / top_p 0.9) and the effort docs (per-model effort and max/xhigh availability). Verified July 2026.

Why Anthropic removed the sampling knobs

The newer models use adaptive thinking — the model decides when and how much to reason on each request — and manual sampling knobs conflict with that internal control. On an adaptive-thinking model, you set thinking: {type: 'adaptive'} and the model itself determines its reasoning depth per request. Bolting a fixed temperature on top of a model that is dynamically managing its own decoding is exactly the kind of foot-gun Anthropic chose to remove. Note the old manual extended-thinking form (thinking: {type: 'enabled', budget_tokens: N}) is also not supported on Opus 4.8 and returns a 400 — the whole manual-control surface was rethought, not just temperature.

Anthropic's recommendation is unambiguous: the safest migration path is to omit temperature, top_p and top_k entirely from your request payloads, and to guide behavior through prompting instead. If you maintain a shared client wrapper that always injects a default temperature, that is now a bug on 4.7+ — strip it out.

Older models (3.x → Opus 4.6) temperature 0.0 → 1.0 knob (one lever) Newer models (Opus 4.7 → Fable 5) temperature removed → 400 error Variety → prompt instructions Depth → effort + adaptive thinking
One knob became two controls: prompt instructions for variety, the effort parameter for reasoning depth. Source: Anthropic migration & effort docs, July 2026.

Want more variety? Do this instead

Whatever you used temperature for, there is now a prompt-level or parameter-level replacement — this mapping table is the practical translation. Take the intent behind "I want to turn the temperature up" and route it to the modern lever:

What you used temperature forOn new Claude models, do this instead
High temp for more creative / varied wordingPrompt it: "vary the phrasing and tone; avoid repeating openings."
High temp to get several different optionsPrompt it: "give me 5 distinctly different approaches, not variations of one."
Low temp / temp 0 for analytical, consistent answersPrompt it: "be precise and literal; no embellishment," and lower effort for simple tasks.
Low temp for structured extraction / JSONUse tools / structured output and a strict schema in the prompt.
Adjusting temp to trade speed vs qualityUse the effort parameter (low → max) — the real speed/quality dial now.
Deterministic rerunsCache the output; even old temp 0 was never fully deterministic.

Prompting is not a workaround — it is Anthropic's recommended control surface on Opus 4.7 and later. A well-specified instruction ("produce three answers that disagree with each other") reliably produces more spread than nudging a temperature slider ever did, because it targets the outcome directly instead of the token distribution.

The effort parameter is not a temperature replacement

Effort controls how much the model thinks, not how random its sampling is — treat it as a depth dial, not a creativity dial. It has exactly five named levels the API accepts, set via output_config.effort:

LevelBehaviorNotes
lowMinimal thinking; may skip it for simple problemsFastest / cheapest
mediumModerate reasoning 
highDeep thinking almost alwaysDefault (same as omitting effort)
xhighExtended capability for long-horizon workFable 5, Mythos 5, Opus 4.8/4.7, Sonnet 5
maxAbsolute maximum capability, no token-spend constraintsFable 5, Mythos 5, Opus 4.8/4.7/4.6, Sonnet 5/4.6

Two facts worth pinning down. First, high is the default: setting effort to high produces exactly the same behavior as omitting the parameter entirely. Second, with adaptive thinking the model decides per request — at high, xhigh and max it almost always thinks deeply, while at lower levels it may skip thinking for simpler problems. Here is a minimal request against our OpenAI-compatible gateway that raises effort (no temperature in sight):

import requests

r = requests.post(
    "https://www.datallmlab.com/v1/chat/completions",
    headers={"Authorization": "Bearer $DATALLM_KEY"},
    json={
        "model": "claude-opus-4-8",
        "messages": [{"role": "user", "content": "Give me 5 distinct taglines."}],
        # NO temperature / top_p / top_k — they 400 on 4.7+
        "reasoning_effort": "xhigh"          # depth, not randomness
    },
)
print(r.json())

Note: Claude Code's "ultracode" mode is not a sixth effort level — the five above are the complete set the API accepts. Ultracode simply pairs xhigh effort with standing permission to launch multi-agent workflows. See our Claude Code guide and the OpenAI-compatible API primer for how these map through a gateway.

Using temperature on older Claude models

If you specifically need the temperature knob, call a model that still has it — Claude 3.x through Opus 4.6 accept temperature, top_p and top_k as before. Anthropic's own migration example shows temperature=0.7 and top_p=0.9 still working on a 3.x model such as claude-3-7-sonnet-20250219. On those models the parameter behaves classically: 0.0–1.0 range, default 1.0, lower for analytical work and higher for creative work.

Two caveats before you pin an old model just for temperature: (1) even temperature 0.0 is not fully deterministic, so it is a poor tool for reproducibility; and (2) you trade away the frontier capability, adaptive thinking and effort control of the newer models. For most workloads the better move is to migrate to a current model and express intent through prompting — but the older path is fully supported if you have a genuine reason. Watch the ceiling of 1.0 when porting code between providers, and treat any parameter rejection as a plain 4xx client error to fix, not a transient one to retry.

One API for both regimes

Because DataLLM Lab is OpenAI-compatible, you hit new adaptive-thinking Claude models and older temperature-accepting ones through the same endpoint and key — you just change the model id and which parameters you send. That matters when you are migrating: you can keep an old temperature-based route running on a 3.x model while you move a new route to Opus 4.8 with effort, without swapping SDKs. The gateway is also where routing and failover live, so a Claude request can fall back to an equivalent model without your app knowing — see the routing & failover guide and what an LLM gateway is. For picking a model in the first place, our best LLM API roundup compares the current frontier.

Skip the parameter archaeology — call Claude the modern way

DataLLM Lab routes 300+ models on one OpenAI-compatible key. Call Claude Opus 4.8 with effort, keep a temperature-based 3.x route alive, and let failover handle the rest.

FAQ

Can you turn the temperature up on Claude?

Not on current models. On Claude Fable 5, Opus 4.8 and Opus 4.7, setting temperature, top_p or top_k to a non-default value returns a 400 error — the knobs were removed. Use prompt instructions for variety and the effort parameter for depth. Older models (3.x through Opus 4.6) still accept temperature on a 0.0–1.0 scale.

What does temperature mean in an LLM API?

It is a sampling parameter that injects randomness into the next-token choice — low is analytical and repeatable, high is creative and varied. Same idea behind "gpt temperature meaning". On Claude the range is 0.0–1.0 (default 1.0), and even 0.0 is not fully deterministic.

Which Claude models still support temperature?

Claude 3.x (e.g. claude-3-7-sonnet) through Opus 4.6 still accept temperature, top_p and top_k. From Opus 4.7 onward — including Opus 4.8, Sonnet 5, Fable 5 and Mythos 5 — they are removed and return 400.

Why did Anthropic remove temperature?

The newer models use adaptive thinking, deciding their own reasoning depth per request. Manual sampling knobs conflict with that, so Anthropic removed them and recommends prompting plus the effort parameter. The safe migration path is to omit temperature/top_p/top_k entirely.

Is the effort parameter the same as temperature?

No. effort controls how much the model thinks (five levels: low, medium, high default, xhigh, max via output_config.effort), not how random sampling is. It is a depth/capability dial, not a creativity dial.

How do I get more creative output without temperature?

Ask for it in the prompt — "give me five distinctly different options" or "vary the tone." Prompting is Anthropic's recommended control on Opus 4.7 and later and targets the outcome directly.

Does temperature 0 make Claude fully deterministic?

No — even on models that accept it, Anthropic states temperature 0.0 is not fully deterministic. Cache outputs if you need repeatability.

Written by
Kevin Fan

Founder of DataLLM Lab, the unified LLM gateway. Kevin tests models the boring way — same prompts, real costs, unedited outputs — and writes up what the runs actually show.

One API for every model

One API, every model.

Get a single API key for Claude Opus 4.7, GPT-5.4, and 300+ more — with automatic price comparison and routing to the best model for every request.