From 0313e58bd83f1703cef5e7fda8c09a34a3f7a24f Mon Sep 17 00:00:00 2001 From: Manuel Escalante Date: Mon, 26 Oct 2026 12:07:18 +0100 Subject: [PATCH] chore: update verified Anthropic models to the 5.x family --- AppImage/config/verified_ai_models.json | 19 +++++++++++-------- AppImage/scripts/flask_notification_routes.py | 9 +++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/AppImage/config/verified_ai_models.json b/AppImage/config/verified_ai_models.json index 7c6bb298..0b387613 100644 --- a/AppImage/config/verified_ai_models.json +++ b/AppImage/config/verified_ai_models.json @@ -63,18 +63,21 @@ }, "anthropic": { "models": [ + "claude-haiku-5-5", "claude-haiku-4-5-20251001", - "claude-opus-4-8", - "claude-sonnet-4-5-20250929", - "claude-opus-4-5-20251101", - "claude-opus-4-7", + "claude-sonnet-5-5", + "claude-sonnet-5", "claude-sonnet-4-6", + "claude-opus-5-5", + "claude-opus-4-8", + "claude-opus-4-7", + "claude-opus-4-6", + "claude-opus-4-5-20251101", "claude-fable-5", - "claude-fable-5-1", - "claude-opus-4-6" + "claude-fable-5-1" ], - "recommended": "claude-haiku-4-5-20251001", - "_note": "Verified 2026-09-02 — 9 of 11 tested pass. The `claude-haiku-4-5` alias no longer resolves upstream; the working snapshot is `claude-haiku-4-5-20251001` — used as recommended (2.89s). Full family surfaced: haiku/sonnet/opus/fable across generations 4.5/4.6/4.7/4.8/5." + "recommended": "claude-haiku-5-5", + "_note": "Verified 2026-10-26 against the live API. Added the 5.x family, recommended `claude-haiku-5-5`. Dropped `claude-sonnet-4-5` (retires 2026-11-30). `claude-opus-5` left out: false refusals on plain notifications." }, "openrouter": { "models": [ diff --git a/AppImage/scripts/flask_notification_routes.py b/AppImage/scripts/flask_notification_routes.py index 907ad3b6..e5a64c5f 100644 --- a/AppImage/scripts/flask_notification_routes.py +++ b/AppImage/scripts/flask_notification_routes.py @@ -514,13 +514,10 @@ def get_provider_models(): 'message': f'Found {len(models)} local models' }) - # Handle Anthropic - no models list API, return verified models directly + # Handle Anthropic - return verified models directly if provider == 'anthropic': - models = list(verified_models) if verified_models else [ - 'claude-3-5-haiku-latest', - 'claude-3-5-sonnet-latest', - 'claude-3-opus-latest', - ] + from ai_providers.anthropic_provider import AnthropicProvider + models = list(verified_models) if verified_models else list(AnthropicProvider.KNOWN_MODELS) return jsonify({ 'success': True, 'models': sorted(models),