From 88566c3194f7fe9f0d0488d105252433e97141de Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 16 Apr 2026 21:22:16 +0000 Subject: [PATCH 1/3] Add claude-opus-4-6 and claude-opus-4-7 to EXTENDED_THINKING_MODELS Both models support extended thinking capability and should be included in the EXTENDED_THINKING_MODELS list alongside other Claude 4 models. --- openhands-sdk/openhands/sdk/llm/utils/model_features.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openhands-sdk/openhands/sdk/llm/utils/model_features.py b/openhands-sdk/openhands/sdk/llm/utils/model_features.py index 9cfbbe1b69..25885dfd2c 100644 --- a/openhands-sdk/openhands/sdk/llm/utils/model_features.py +++ b/openhands-sdk/openhands/sdk/llm/utils/model_features.py @@ -93,6 +93,8 @@ def _supports_reasoning_effort(model: str | None) -> bool: "claude-sonnet-4-5", "claude-sonnet-4-6", "claude-haiku-4-5", + "claude-opus-4-6", + "claude-opus-4-7", ] PROMPT_CACHE_MODELS: list[str] = [ From 0706778b7ad94239701266f2c6e6ff87068fff59 Mon Sep 17 00:00:00 2001 From: Juan Michelini Date: Thu, 16 Apr 2026 18:30:12 -0300 Subject: [PATCH 2/3] Update model_features.py --- openhands-sdk/openhands/sdk/llm/utils/model_features.py | 1 + 1 file changed, 1 insertion(+) diff --git a/openhands-sdk/openhands/sdk/llm/utils/model_features.py b/openhands-sdk/openhands/sdk/llm/utils/model_features.py index 25885dfd2c..97991e4d50 100644 --- a/openhands-sdk/openhands/sdk/llm/utils/model_features.py +++ b/openhands-sdk/openhands/sdk/llm/utils/model_features.py @@ -93,6 +93,7 @@ def _supports_reasoning_effort(model: str | None) -> bool: "claude-sonnet-4-5", "claude-sonnet-4-6", "claude-haiku-4-5", + "claude-opus-4-5", "claude-opus-4-6", "claude-opus-4-7", ] From 11b0b66c4664f31c5f398252dee5c1efa1b1bc9d Mon Sep 17 00:00:00 2001 From: openhands Date: Fri, 17 Apr 2026 05:53:43 +0000 Subject: [PATCH 3/3] Update test expectations for opus models extended thinking support The tests previously expected claude-opus-4-5 and claude-opus-4-6 to NOT support extended thinking. Update test parametrization to reflect the model_features.py change and add claude-opus-4-7 test cases. Co-authored-by: openhands --- tests/sdk/llm/test_model_features.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/sdk/llm/test_model_features.py b/tests/sdk/llm/test_model_features.py index 693a562567..0622b793bc 100644 --- a/tests/sdk/llm/test_model_features.py +++ b/tests/sdk/llm/test_model_features.py @@ -81,15 +81,17 @@ def test_reasoning_effort_support(model, expected_reasoning): ("claude-sonnet-4-5", True), ("claude-sonnet-4-6", True), ("claude-haiku-4-5", True), + ("claude-opus-4-5", True), + ("claude-opus-4-6", True), + ("claude-opus-4-7", True), # Provider prefixed variants ("anthropic/claude-sonnet-4-5", True), ("anthropic/claude-sonnet-4-6", True), ("anthropic/claude-haiku-4-5", True), + ("anthropic/claude-opus-4-7", True), # Models that don't support extended thinking ("claude-3-7-sonnet", False), ("claude-sonnet-4", False), - ("claude-opus-4-5", False), - ("claude-opus-4-6", False), ("gpt-4o", False), ("o1", False), ("unknown-model", False),