diff --git a/homeassistant/components/anthropic/config_flow.py b/homeassistant/components/anthropic/config_flow.py index a59078cf31a..58cb720c5a5 100644 --- a/homeassistant/components/anthropic/config_flow.py +++ b/homeassistant/components/anthropic/config_flow.py @@ -419,7 +419,11 @@ class ConversationSubentryFlowHandler(ConfigSubentryFlow): model_alias = ( model_info.id[:-9] if model_info.id - not in ("claude-3-haiku-20240307", "claude-3-opus-20240229") + not in ( + "claude-3-haiku-20240307", + "claude-3-5-haiku-20241022", + "claude-3-opus-20240229", + ) else model_info.id ) if short_form.search(model_alias): diff --git a/homeassistant/components/anthropic/const.py b/homeassistant/components/anthropic/const.py index 4b65652ade0..ff89fdde905 100644 --- a/homeassistant/components/anthropic/const.py +++ b/homeassistant/components/anthropic/const.py @@ -23,7 +23,7 @@ CONF_WEB_SEARCH_COUNTRY = "country" CONF_WEB_SEARCH_TIMEZONE = "timezone" DEFAULT = { - CONF_CHAT_MODEL: "claude-3-5-haiku-latest", + CONF_CHAT_MODEL: "claude-haiku-4-5", CONF_MAX_TOKENS: 3000, CONF_TEMPERATURE: 1.0, CONF_THINKING_BUDGET: 0, diff --git a/tests/components/anthropic/test_config_flow.py b/tests/components/anthropic/test_config_flow.py index b6935c4a184..867a2ae284f 100644 --- a/tests/components/anthropic/test_config_flow.py +++ b/tests/components/anthropic/test_config_flow.py @@ -387,7 +387,7 @@ async def test_model_list( }, { "label": "Claude Haiku 3.5", - "value": "claude-3-5-haiku-latest", + "value": "claude-3-5-haiku-20241022", }, { "label": "Claude Haiku 3", @@ -500,7 +500,7 @@ async def test_model_list_error( CONF_LLM_HASS_API: [], }, { - CONF_CHAT_MODEL: "claude-3-5-haiku-latest", + CONF_CHAT_MODEL: "claude-3-5-haiku-20241022", CONF_TEMPERATURE: 1.0, }, { @@ -513,7 +513,7 @@ async def test_model_list_error( CONF_RECOMMENDED: False, CONF_PROMPT: "Speak like a pirate", CONF_TEMPERATURE: 1.0, - CONF_CHAT_MODEL: "claude-3-5-haiku-latest", + CONF_CHAT_MODEL: "claude-3-5-haiku-20241022", CONF_MAX_TOKENS: DEFAULT[CONF_MAX_TOKENS], CONF_WEB_SEARCH: False, CONF_WEB_SEARCH_MAX_USES: 10, @@ -581,6 +581,7 @@ async def test_model_list_error( CONF_TEMPERATURE: 0.3, CONF_CHAT_MODEL: DEFAULT[CONF_CHAT_MODEL], CONF_MAX_TOKENS: DEFAULT[CONF_MAX_TOKENS], + CONF_THINKING_BUDGET: 0, CONF_WEB_SEARCH: False, CONF_WEB_SEARCH_MAX_USES: 5, CONF_WEB_SEARCH_USER_LOCATION: False,