From 19f35b4200860c99eb6a78fbbeeb41fc665d2eeb Mon Sep 17 00:00:00 2001 From: Neal Shah <30693865+ProgrammerIn-wonderland@users.noreply.github.com> Date: Fri, 24 Jul 2026 13:49:20 -0400 Subject: [PATCH] add opus 5 (#3437) --- .../providers/claude/ClaudeProvider.ts | 22 ++++---- .../ai-chat/providers/claude/models.ts | 51 +++++++++++++++---- 2 files changed, 53 insertions(+), 20 deletions(-) diff --git a/src/backend/drivers/ai-chat/providers/claude/ClaudeProvider.ts b/src/backend/drivers/ai-chat/providers/claude/ClaudeProvider.ts index 5712d314c..01e8c0cd3 100644 --- a/src/backend/drivers/ai-chat/providers/claude/ClaudeProvider.ts +++ b/src/backend/drivers/ai-chat/providers/claude/ClaudeProvider.ts @@ -3,18 +3,19 @@ * * This file is part of Puter. * - * Puter is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * Puter is free software: you can redistribute it and/or modify it under the + * terms of the GNU Affero General Public License as published by the Free + * Software Foundation, either version 3 of the License, or (at your option) any + * later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more + * details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see + * [https://www.gnu.org/licenses/](https://www.gnu.org/licenses/). */ import Anthropic from '@anthropic-ai/sdk'; @@ -271,6 +272,7 @@ export class ClaudeProvider implements IChatProvider { 'claude-sonnet-5', 'claude-opus-4-7', 'claude-opus-4-8', + 'claude-opus-5', ].includes(modelUsed.id); const resolvedTemperature = omitsTemperature ? undefined @@ -280,6 +282,7 @@ export class ClaudeProvider implements IChatProvider { const supportsEffort = [ 'claude-fable-5', 'claude-sonnet-5', + 'claude-opus-5', 'claude-opus-4-8', 'claude-opus-4-7', 'claude-opus-4-6', @@ -682,6 +685,7 @@ export class ClaudeProvider implements IChatProvider { // the stream. if ( modelId === 'claude-fable-5' || + modelId === 'claude-opus-5' || modelId === 'claude-opus-4-8' || modelId === 'claude-opus-4-7' ) { diff --git a/src/backend/drivers/ai-chat/providers/claude/models.ts b/src/backend/drivers/ai-chat/providers/claude/models.ts index 1b9b3cde8..921bb80e1 100644 --- a/src/backend/drivers/ai-chat/providers/claude/models.ts +++ b/src/backend/drivers/ai-chat/providers/claude/models.ts @@ -3,18 +3,19 @@ * * This file is part of Puter. * - * Puter is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * Puter is free software: you can redistribute it and/or modify it under the + * terms of the GNU Affero General Public License as published by the Free + * Software Foundation, either version 3 of the License, or (at your option) any + * later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more + * details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see + * [https://www.gnu.org/licenses/](https://www.gnu.org/licenses/). */ import type { IChatModel } from '../../types.js'; @@ -79,6 +80,36 @@ export const CLAUDE_MODELS: IChatModel[] = [ context: 1000000, max_tokens: 64000, }, + { + puterId: 'anthropic:anthropic/claude-opus-5', + id: 'claude-opus-5', + modalities: { input: ['text', 'image', 'pdf'], output: ['text'] }, + open_weights: false, + tool_call: true, + knowledge: '2026-05', + release_date: '2026-07-24', + aliases: [ + 'claude-opus', + 'claude-opus-latest', + 'claude-opus-5-latest', + 'claude-opus-5', + 'anthropic/claude-opus-5', + ], + name: 'Claude Opus 5', + costs_currency: 'usd-cents', + input_cost_key: 'input_tokens', + output_cost_key: 'output_tokens', + costs: { + tokens: 1_000_000, + input_tokens: 500, + ephemeral_5m_input_tokens: 500 * 1.25, + ephemeral_1h_input_tokens: 500 * 2, + cache_read_input_tokens: 500 * 0.1, + output_tokens: 2500, + }, + context: 1000000, + max_tokens: 128000, + }, { puterId: 'anthropic:anthropic/claude-opus-4-8', id: 'claude-opus-4-8', @@ -88,8 +119,6 @@ export const CLAUDE_MODELS: IChatModel[] = [ knowledge: '2026-01', release_date: '2026-05-28', aliases: [ - 'claude-opus', - 'claude-opus-latest', 'claude-opus-4-8-latest', 'claude-opus-4.8', 'claude-opus-4-8',