MCPcopy Create free account
hub / github.com/WJX20/claude-code / getMaxOutputTokensForModel

Function getMaxOutputTokensForModel

src/services/api/claude.ts:3400–3420  ·  view source on GitHub ↗
(model: string)

Source from the content-addressed store, hash-verified

3398}
3399
3400export function getMaxOutputTokensForModel(model: string): number {
3401 const maxOutputTokens = getModelMaxOutputTokens(model)
3402
3403 // Slot-reservation cap: drop default to 8k for all models. BQ p99 output
3404 // = 4,911 tokens; 32k/64k defaults over-reserve 8-16× slot capacity.
3405 // Requests hitting the cap get one clean retry at 64k (query.ts
3406 // max_output_tokens_escalate). Math.min keeps models with lower native
3407 // defaults (e.g. claude-3-opus at 4k) at their native value. Applied
3408 // before the env-var override so CLAUDE_CODE_MAX_OUTPUT_TOKENS still wins.
3409 const defaultTokens = isMaxTokensCapEnabled()
3410 ? Math.min(maxOutputTokens.default, CAPPED_DEFAULT_MAX_TOKENS)
3411 : maxOutputTokens.default
3412
3413 const result = validateBoundedIntEnvVar(
3414 'CLAUDE_CODE_MAX_OUTPUT_TOKENS',
3415 process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS,
3416 defaultTokens,
3417 maxOutputTokens.upperLimit,
3418 )
3419 return result.effective
3420}

Callers 3

streamCompactSummaryFunction · 0.85
paramsFromContextFunction · 0.85

Calls 3

getModelMaxOutputTokensFunction · 0.85
isMaxTokensCapEnabledFunction · 0.85
validateBoundedIntEnvVarFunction · 0.85

Tested by

no test coverage detected