diff --git a/src/config/defaults.ts b/src/config/defaults.ts index 686b4c09c8..7d804a40b5 100644 --- a/src/config/defaults.ts +++ b/src/config/defaults.ts @@ -215,7 +215,9 @@ export function applyModelDefaults(cfg: OpenClawConfig): OpenClawConfig { } const defaultMaxTokens = Math.min(DEFAULT_MODEL_MAX_TOKENS, contextWindow); - const maxTokens = isPositiveNumber(raw.maxTokens) ? raw.maxTokens : defaultMaxTokens; + // Clamp maxTokens to contextWindow to prevent invalid configurations + const rawMaxTokens = isPositiveNumber(raw.maxTokens) ? raw.maxTokens : defaultMaxTokens; + const maxTokens = Math.min(rawMaxTokens, contextWindow); if (raw.maxTokens !== maxTokens) { modelMutated = true; }