From 2adc02309450fb23f3b7bca5a47c4340c6f334c8 Mon Sep 17 00:00:00 2001 From: versecafe <147033096+versecafe@users.noreply.github.com> Date: Thu, 16 Oct 2025 14:59:12 -0700 Subject: [PATCH] anthropic: Haiku 4.5 support (#40298) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Release Notes: - Added Claude Haiku 4.5 Screenshot 2025-10-15 at 5 23 37 PM --- crates/anthropic/src/anthropic.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/crates/anthropic/src/anthropic.rs b/crates/anthropic/src/anthropic.rs index 93334fd950f27309000ff175aeafb18767bd2867..cd2077cdeb1370a9753df83f9b239ef776bab149 100644 --- a/crates/anthropic/src/anthropic.rs +++ b/crates/anthropic/src/anthropic.rs @@ -91,6 +91,13 @@ pub enum Model { Claude3_7SonnetThinking, #[serde(rename = "claude-3-5-sonnet", alias = "claude-3-5-sonnet-latest")] Claude3_5Sonnet, + #[serde(rename = "claude-haiku-4-5", alias = "claude-haiku-4-5-latest")] + ClaudeHaiku4_5, + #[serde( + rename = "claude-haiku-4-5-thinking", + alias = "claude-haiku-4-5-thinking-latest" + )] + ClaudeHaiku4_5Thinking, #[serde(rename = "claude-3-5-haiku", alias = "claude-3-5-haiku-latest")] Claude3_5Haiku, #[serde(rename = "claude-3-opus", alias = "claude-3-opus-latest")] @@ -168,6 +175,14 @@ impl Model { return Ok(Self::Claude3_5Sonnet); } + if id.starts_with("claude-haiku-4-5-thinking") { + return Ok(Self::ClaudeHaiku4_5Thinking); + } + + if id.starts_with("claude-haiku-4-5") { + return Ok(Self::ClaudeHaiku4_5); + } + if id.starts_with("claude-3-5-haiku") { return Ok(Self::Claude3_5Haiku); } @@ -200,6 +215,8 @@ impl Model { Self::Claude3_5Sonnet => "claude-3-5-sonnet-latest", Self::Claude3_7Sonnet => "claude-3-7-sonnet-latest", Self::Claude3_7SonnetThinking => "claude-3-7-sonnet-thinking-latest", + Self::ClaudeHaiku4_5 => "claude-haiku-4-5-latest", + Self::ClaudeHaiku4_5Thinking => "claude-haiku-4-5-thinking-latest", Self::Claude3_5Haiku => "claude-3-5-haiku-latest", Self::Claude3Opus => "claude-3-opus-latest", Self::Claude3Sonnet => "claude-3-sonnet-20240229", @@ -217,6 +234,7 @@ impl Model { Self::ClaudeSonnet4_5 | Self::ClaudeSonnet4_5Thinking => "claude-sonnet-4-5-20250929", Self::Claude3_5Sonnet => "claude-3-5-sonnet-latest", Self::Claude3_7Sonnet | Self::Claude3_7SonnetThinking => "claude-3-7-sonnet-latest", + Self::ClaudeHaiku4_5 | Self::ClaudeHaiku4_5Thinking => "claude-haiku-4-5-20251001", Self::Claude3_5Haiku => "claude-3-5-haiku-latest", Self::Claude3Opus => "claude-3-opus-latest", Self::Claude3Sonnet => "claude-3-sonnet-20240229", @@ -238,6 +256,8 @@ impl Model { Self::Claude3_7Sonnet => "Claude 3.7 Sonnet", Self::Claude3_5Sonnet => "Claude 3.5 Sonnet", Self::Claude3_7SonnetThinking => "Claude 3.7 Sonnet Thinking", + Self::ClaudeHaiku4_5 => "Claude Haiku 4.5", + Self::ClaudeHaiku4_5Thinking => "Claude Haiku 4.5 Thinking", Self::Claude3_5Haiku => "Claude 3.5 Haiku", Self::Claude3Opus => "Claude 3 Opus", Self::Claude3Sonnet => "Claude 3 Sonnet", @@ -259,6 +279,8 @@ impl Model { | Self::ClaudeSonnet4_5 | Self::ClaudeSonnet4_5Thinking | Self::Claude3_5Sonnet + | Self::ClaudeHaiku4_5 + | Self::ClaudeHaiku4_5Thinking | Self::Claude3_5Haiku | Self::Claude3_7Sonnet | Self::Claude3_7SonnetThinking @@ -286,6 +308,8 @@ impl Model { | Self::ClaudeSonnet4_5 | Self::ClaudeSonnet4_5Thinking | Self::Claude3_5Sonnet + | Self::ClaudeHaiku4_5 + | Self::ClaudeHaiku4_5Thinking | Self::Claude3_5Haiku | Self::Claude3_7Sonnet | Self::Claude3_7SonnetThinking @@ -310,6 +334,7 @@ impl Model { | Self::Claude3_7Sonnet | Self::Claude3_7SonnetThinking | Self::Claude3_5Haiku => 8_192, + Self::ClaudeHaiku4_5 | Self::ClaudeHaiku4_5Thinking => 64_000, Self::Claude3Opus | Self::Claude3Sonnet | Self::Claude3Haiku => 4_096, Self::Custom { max_output_tokens, .. @@ -330,6 +355,8 @@ impl Model { | Self::Claude3_5Sonnet | Self::Claude3_7Sonnet | Self::Claude3_7SonnetThinking + | Self::ClaudeHaiku4_5 + | Self::ClaudeHaiku4_5Thinking | Self::Claude3_5Haiku | Self::Claude3Opus | Self::Claude3Sonnet @@ -349,6 +376,7 @@ impl Model { | Self::ClaudeSonnet4_5 | Self::Claude3_5Sonnet | Self::Claude3_7Sonnet + | Self::ClaudeHaiku4_5 | Self::Claude3_5Haiku | Self::Claude3Opus | Self::Claude3Sonnet @@ -357,6 +385,7 @@ impl Model { | Self::ClaudeOpus4_1Thinking | Self::ClaudeSonnet4Thinking | Self::ClaudeSonnet4_5Thinking + | Self::ClaudeHaiku4_5Thinking | Self::Claude3_7SonnetThinking => AnthropicModelMode::Thinking { budget_tokens: Some(4_096), },