From a7beec9987a66fbc33c2f959b4534bda8d3e2ec3 Mon Sep 17 00:00:00 2001 From: Vlad Ionescu Date: Sat, 23 May 2026 11:33:16 +0300 Subject: [PATCH 1/4] free: remove MiniMax M2.5 Free --- crates/opencode/src/opencode.rs | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/crates/opencode/src/opencode.rs b/crates/opencode/src/opencode.rs index c4919f1759c379..d5c3a104d92eef 100644 --- a/crates/opencode/src/opencode.rs +++ b/crates/opencode/src/opencode.rs @@ -123,8 +123,6 @@ pub enum Model { DeepSeekV4Flash, #[serde(rename = "minimax-m2.5")] MiniMaxM2_5, - #[serde(rename = "minimax-m2.5-free")] - MiniMaxM2_5Free, #[serde(rename = "glm-5")] Glm5, #[serde(rename = "glm-5.1")] @@ -180,7 +178,7 @@ impl Model { } pub fn default_free_fast() -> Self { - Self::MiniMaxM2_5Free + Self::Nemotron3SuperFree } pub fn available_subscriptions(&self) -> &'static [OpenCodeSubscription] { @@ -202,7 +200,7 @@ impl Model { | Self::DeepSeekV4Flash => &[OpenCodeSubscription::Go], // Free models - Self::MiniMaxM2_5Free | Self::Nemotron3SuperFree | Self::BigPickle => { + Self::Nemotron3SuperFree | Self::BigPickle => { &[OpenCodeSubscription::Free] } @@ -249,7 +247,6 @@ impl Model { Self::DeepSeekV4Pro => "deepseek-v4-pro", Self::DeepSeekV4Flash => "deepseek-v4-flash", Self::MiniMaxM2_5 => "minimax-m2.5", - Self::MiniMaxM2_5Free => "minimax-m2.5-free", Self::Glm5 => "glm-5", Self::Glm5_1 => "glm-5.1", Self::KimiK2_5 => "kimi-k2.5", @@ -301,7 +298,6 @@ impl Model { Self::DeepSeekV4Pro => "DeepSeek V4 Pro", Self::DeepSeekV4Flash => "DeepSeek V4 Flash", Self::MiniMaxM2_5 => "MiniMax M2.5", - Self::MiniMaxM2_5Free => "MiniMax M2.5 Free", Self::Glm5 => "GLM 5", Self::Glm5_1 => "GLM 5.1", Self::KimiK2_5 => "Kimi K2.5", @@ -361,8 +357,7 @@ impl Model { Self::Gemini3_1Pro | Self::Gemini3Flash => ApiProtocol::Google, - Self::MiniMaxM2_5Free - | Self::Glm5 + Self::Glm5 | Self::Glm5_1 | Self::KimiK2_5 | Self::KimiK2_6 @@ -429,7 +424,7 @@ impl Model { // OpenAI-compatible models Self::MiniMaxM2_7 => 204_800, - Self::MiniMaxM2_5 | Self::MiniMaxM2_5Free => 204_800, + Self::MiniMaxM2_5 => 204_800, Self::Glm5 | Self::Glm5_1 => { if subscription == OpenCodeSubscription::Go { 202_752 @@ -484,7 +479,6 @@ impl Model { // OpenAI-compatible models Self::MiniMaxM2_7 => Some(131_072), - Self::MiniMaxM2_5Free => Some(131_072), Self::MiniMaxM2_5 => { if subscription == OpenCodeSubscription::Go { Some(65_536) @@ -561,7 +555,6 @@ impl Model { // OpenAI-compatible models without image support Self::MiniMaxM2_5 - | Self::MiniMaxM2_5Free | Self::Glm5 | Self::Glm5_1 | Self::MiniMaxM2_7 From f646ed2a7024e4ad65c68628094832ed7c7c1e41 Mon Sep 17 00:00:00 2001 From: Vlad Ionescu Date: Sat, 23 May 2026 11:39:33 +0300 Subject: [PATCH 2/4] zen: add Gemini 3.5 Flash --- crates/opencode/src/opencode.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/crates/opencode/src/opencode.rs b/crates/opencode/src/opencode.rs index d5c3a104d92eef..62b0df2ad4eb05 100644 --- a/crates/opencode/src/opencode.rs +++ b/crates/opencode/src/opencode.rs @@ -115,6 +115,8 @@ pub enum Model { Gemini3_1Pro, #[serde(rename = "gemini-3-flash")] Gemini3Flash, + #[serde(rename = "gemini-3.5-flash")] + Gemini3_5Flash, // -- OpenAI Chat Completions protocol models -- #[serde(rename = "deepseek-v4-pro")] @@ -243,6 +245,7 @@ impl Model { Self::Gemini3_1Pro => "gemini-3.1-pro", Self::Gemini3Flash => "gemini-3-flash", + Self::Gemini3_5Flash => "gemini-3.5-flash", Self::DeepSeekV4Pro => "deepseek-v4-pro", Self::DeepSeekV4Flash => "deepseek-v4-flash", @@ -294,6 +297,7 @@ impl Model { Self::Gemini3_1Pro => "Gemini 3.1 Pro", Self::Gemini3Flash => "Gemini 3 Flash", + Self::Gemini3_5Flash => "Gemini 3.5 Flash", Self::DeepSeekV4Pro => "DeepSeek V4 Pro", Self::DeepSeekV4Flash => "DeepSeek V4 Flash", @@ -355,7 +359,7 @@ impl Model { | Self::Gpt5Codex | Self::Gpt5Nano => ApiProtocol::OpenAiResponses, - Self::Gemini3_1Pro | Self::Gemini3Flash => ApiProtocol::Google, + Self::Gemini3_1Pro | Self::Gemini3Flash | Self::Gemini3_5Flash => ApiProtocol::Google, Self::Glm5 | Self::Glm5_1 @@ -421,6 +425,7 @@ impl Model { // Google models Self::Gemini3_1Pro => 1_048_576, Self::Gemini3Flash => 1_048_576, + Self::Gemini3_5Flash => 1_048_576, // OpenAI-compatible models Self::MiniMaxM2_7 => 204_800, @@ -475,7 +480,7 @@ impl Model { | Self::Gpt5Nano => Some(128_000), // Google models - Self::Gemini3_1Pro | Self::Gemini3Flash => Some(65_536), + Self::Gemini3_1Pro | Self::Gemini3Flash | Self::Gemini3_5Flash => Some(65_536), // OpenAI-compatible models Self::MiniMaxM2_7 => Some(131_072), @@ -544,7 +549,7 @@ impl Model { Self::Gpt5_3Spark => false, // Google models support images - Self::Gemini3_1Pro | Self::Gemini3Flash => true, + Self::Gemini3_1Pro | Self::Gemini3Flash | Self::Gemini3_5Flash => true, // OpenAI-compatible models with image support Self::KimiK2_6 From f9012ad4b1d5708c4cee7d475197bb1a27dc304b Mon Sep 17 00:00:00 2001 From: Vlad Ionescu Date: Sat, 23 May 2026 11:44:47 +0300 Subject: [PATCH 3/4] zen: add Grok Build 0.1 --- crates/opencode/src/opencode.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/opencode/src/opencode.rs b/crates/opencode/src/opencode.rs index 62b0df2ad4eb05..96e0efac10011c 100644 --- a/crates/opencode/src/opencode.rs +++ b/crates/opencode/src/opencode.rs @@ -129,6 +129,8 @@ pub enum Model { Glm5, #[serde(rename = "glm-5.1")] Glm5_1, + #[serde(rename = "grok-build-0.1")] + GrokBuild0_1, #[serde(rename = "kimi-k2.5")] KimiK2_5, #[serde(rename = "kimi-k2.6")] @@ -252,6 +254,7 @@ impl Model { Self::MiniMaxM2_5 => "minimax-m2.5", Self::Glm5 => "glm-5", Self::Glm5_1 => "glm-5.1", + Self::GrokBuild0_1 => "grok-build-0.1", Self::KimiK2_5 => "kimi-k2.5", Self::KimiK2_6 => "kimi-k2.6", Self::MiniMaxM2_7 => "minimax-m2.7", @@ -304,6 +307,7 @@ impl Model { Self::MiniMaxM2_5 => "MiniMax M2.5", Self::Glm5 => "GLM 5", Self::Glm5_1 => "GLM 5.1", + Self::GrokBuild0_1 => "Grok Build 0.1", Self::KimiK2_5 => "Kimi K2.5", Self::KimiK2_6 => "Kimi K2.6", Self::MiniMaxM2_7 => "MiniMax M2.7", @@ -363,6 +367,7 @@ impl Model { Self::Glm5 | Self::Glm5_1 + | Self::GrokBuild0_1 | Self::KimiK2_5 | Self::KimiK2_6 | Self::MimoV2_5Pro @@ -438,6 +443,7 @@ impl Model { } } Self::KimiK2_6 | Self::KimiK2_5 => 262_144, + Self::GrokBuild0_1 => 256_000, Self::MimoV2_5Pro => 1_048_576, Self::MimoV2_5 => 1_000_000, Self::Qwen3_5Plus | Self::Qwen3_6Plus => 262_144, @@ -500,6 +506,7 @@ impl Model { } Self::BigPickle => Some(128_000), Self::KimiK2_6 | Self::KimiK2_5 => Some(65_536), + Self::GrokBuild0_1 => Some(256_000), Self::Qwen3_5Plus | Self::Qwen3_6Plus => Some(65_536), Self::DeepSeekV4Pro | Self::DeepSeekV4Flash => Some(384_000), Self::Nemotron3SuperFree => Some(128_000), @@ -554,6 +561,7 @@ impl Model { // OpenAI-compatible models with image support Self::KimiK2_6 | Self::KimiK2_5 + | Self::GrokBuild0_1 | Self::MimoV2_5 | Self::Qwen3_5Plus | Self::Qwen3_6Plus => true, From 8a0fd974d7c9c49afd08c8ba1fb5e7ced748fd09 Mon Sep 17 00:00:00 2001 From: Vlad Ionescu Date: Sat, 23 May 2026 12:03:34 +0300 Subject: [PATCH 4/4] Formatting --- crates/opencode/src/opencode.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/crates/opencode/src/opencode.rs b/crates/opencode/src/opencode.rs index 96e0efac10011c..ec4f927ec5e390 100644 --- a/crates/opencode/src/opencode.rs +++ b/crates/opencode/src/opencode.rs @@ -204,9 +204,7 @@ impl Model { | Self::DeepSeekV4Flash => &[OpenCodeSubscription::Go], // Free models - Self::Nemotron3SuperFree | Self::BigPickle => { - &[OpenCodeSubscription::Free] - } + Self::Nemotron3SuperFree | Self::BigPickle => &[OpenCodeSubscription::Free], // Custom models get their subscription from settings, not from here Self::Custom { .. } => &[],