From e47ebb7169a17dc81fdfd3486c19efa45b3d4f70 Mon Sep 17 00:00:00 2001 From: Greyson Lalonde Date: Fri, 27 Feb 2026 17:03:12 -0500 Subject: [PATCH] fix: ensure proper model listings --- lib/crewai/src/crewai/llm.py | 3 +++ .../src/crewai/llms/providers/anthropic/completion.py | 9 ++++++++- .../src/crewai/llms/providers/bedrock/completion.py | 6 ++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/crewai/src/crewai/llm.py b/lib/crewai/src/crewai/llm.py index 39ad5b4a4..ffb1905ef 100644 --- a/lib/crewai/src/crewai/llm.py +++ b/lib/crewai/src/crewai/llm.py @@ -2416,6 +2416,9 @@ class LLM(BaseLLM): "gpt-4.1", "claude-3", "claude-4", + "claude-sonnet-4", + "claude-opus-4", + "claude-haiku-4", "gemini", ) model_lower = self.model.lower() diff --git a/lib/crewai/src/crewai/llms/providers/anthropic/completion.py b/lib/crewai/src/crewai/llms/providers/anthropic/completion.py index f7cb76471..922d7b3a1 100644 --- a/lib/crewai/src/crewai/llms/providers/anthropic/completion.py +++ b/lib/crewai/src/crewai/llms/providers/anthropic/completion.py @@ -1597,7 +1597,14 @@ class AnthropicCompletion(BaseLLM): Returns: True if the model supports images and PDFs. """ - return "claude-3" in self.model.lower() or "claude-4" in self.model.lower() + model_lower = self.model.lower() + return ( + "claude-3" in model_lower + or "claude-4" in model_lower + or "claude-sonnet-4" in model_lower + or "claude-opus-4" in model_lower + or "claude-haiku-4" in model_lower + ) def get_file_uploader(self) -> Any: """Get an Anthropic file uploader using this LLM's clients. diff --git a/lib/crewai/src/crewai/llms/providers/bedrock/completion.py b/lib/crewai/src/crewai/llms/providers/bedrock/completion.py index c707be3af..32f7271ea 100644 --- a/lib/crewai/src/crewai/llms/providers/bedrock/completion.py +++ b/lib/crewai/src/crewai/llms/providers/bedrock/completion.py @@ -2079,12 +2079,18 @@ class BedrockCompletion(BaseLLM): model_lower = self.model.lower() vision_models = ( "anthropic.claude-3", + "anthropic.claude-sonnet-4", + "anthropic.claude-opus-4", + "anthropic.claude-haiku-4", "amazon.nova-lite", "amazon.nova-pro", "amazon.nova-premier", "us.amazon.nova-lite", "us.amazon.nova-pro", "us.amazon.nova-premier", + "us.anthropic.claude-sonnet-4", + "us.anthropic.claude-opus-4", + "us.anthropic.claude-haiku-4", ) return any(model_lower.startswith(m) for m in vision_models)