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

Function getMaxOutputTokensForModel

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

Source from the content-addressed store, hash-verified

3558}
3559
3560export function getMaxOutputTokensForModel(model: string): number {
3561 const maxOutputTokens = getModelMaxOutputTokens(model)
3562
3563 // Slot-reservation cap: drop default to 8k for all models. BQ p99 output
3564 // = 4,911 tokens; 32k/64k defaults over-reserve 8-16× slot capacity.
3565 // Requests hitting the cap get one clean retry at 64k (query.ts
3566 // max_output_tokens_escalate). Math.min keeps models with lower native
3567 // defaults (e.g. claude-3-opus at 4k) at their native value. Applied
3568 // before the env-var override so CLAUDE_CODE_MAX_OUTPUT_TOKENS still wins.
3569 const defaultTokens = isMaxTokensCapEnabled()
3570 ? Math.min(maxOutputTokens.default, CAPPED_DEFAULT_MAX_TOKENS)
3571 : maxOutputTokens.default
3572
3573 const result = validateBoundedIntEnvVar(
3574 'CLAUDE_CODE_MAX_OUTPUT_TOKENS',
3575 process.env.CLAUDE_CODE_MAX_OUTPUT_TOKENS,
3576 defaultTokens,
3577 maxOutputTokens.upperLimit,
3578 )
3579 return result.effective
3580}

Callers 4

streamCompactSummaryFunction · 0.85
estimateMaxTurnGrowthFunction · 0.85
paramsFromContextFunction · 0.85

Calls 3

getModelMaxOutputTokensFunction · 0.85
isMaxTokensCapEnabledFunction · 0.85
validateBoundedIntEnvVarFunction · 0.85

Tested by

no test coverage detected