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',