From d154f433ac991b4f55bfcfd3cb776dac61a3c670 Mon Sep 17 00:00:00 2001 From: Enrico Carlesso Date: Wed, 18 Mar 2026 15:45:36 -0700 Subject: [PATCH] feat: add xAI grok-4.20 models and update default (Fixes #11955) Add grok-4.20-beta-0309-reasoning and grok-4.20-beta-0309-non-reasoning to the xAI provider model list. These are xAI's latest flagship models with 2M context windows at $2/$6 per million tokens pricing. Update the default model from grok-code-fast-1 to grok-4.20-beta-0309-reasoning. Note: Grok models do not expose reasoning_content via the Chat Completions API (reasoning is internal), verified via API testing. --- packages/types/src/providers/xai.ts | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/packages/types/src/providers/xai.ts b/packages/types/src/providers/xai.ts index 37e0f2d12e0..755d692f40f 100644 --- a/packages/types/src/providers/xai.ts +++ b/packages/types/src/providers/xai.ts @@ -3,9 +3,36 @@ import type { ModelInfo } from "../model.js" // https://docs.x.ai/docs/api-reference export type XAIModelId = keyof typeof xaiModels -export const xaiDefaultModelId: XAIModelId = "grok-code-fast-1" +export const xaiDefaultModelId: XAIModelId = "grok-4.20-beta-0309-reasoning" export const xaiModels = { + "grok-4.20-beta-0309-reasoning": { + maxTokens: 65_536, + contextWindow: 2_000_000, + supportsImages: true, + supportsPromptCache: true, + inputPrice: 2.0, + outputPrice: 6.0, + cacheWritesPrice: 0.5, + cacheReadsPrice: 0.5, + description: + "xAI's Grok 4.20 reasoning model with 2M context. Reasoning is internal (not exposed via Chat Completions API).", + includedTools: ["search_replace"], + excludedTools: ["apply_diff"], + }, + "grok-4.20-beta-0309-non-reasoning": { + maxTokens: 65_536, + contextWindow: 2_000_000, + supportsImages: true, + supportsPromptCache: true, + inputPrice: 2.0, + outputPrice: 6.0, + cacheWritesPrice: 0.5, + cacheReadsPrice: 0.5, + description: "xAI's Grok 4.20 non-reasoning model - faster inference with 2M context.", + includedTools: ["search_replace"], + excludedTools: ["apply_diff"], + }, "grok-code-fast-1": { maxTokens: 16_384, contextWindow: 256_000,