diff --git a/public/index.html b/public/index.html
index 8ada12091..187eec3e9 100644
--- a/public/index.html
+++ b/public/index.html
@@ -3107,6 +3107,7 @@
+
diff --git a/public/scripts/extensions/caption/settings.html b/public/scripts/extensions/caption/settings.html
index 7d8cee09e..f0cd8919b 100644
--- a/public/scripts/extensions/caption/settings.html
+++ b/public/scripts/extensions/caption/settings.html
@@ -89,6 +89,7 @@
+
diff --git a/public/scripts/openai.js b/public/scripts/openai.js
index 2a3c54049..0a453d505 100644
--- a/public/scripts/openai.js
+++ b/public/scripts/openai.js
@@ -132,8 +132,6 @@ const max_256k = 256 * 1000;
const max_400k = 400 * 1000;
const max_1mil = 1000 * 1000;
const max_2mil = 2000 * 1000;
-const claude_max = 9000; // We have a proper tokenizer, so theoretically could be larger (up to 9k)
-const claude_100k_max = 99000;
const unlocked_max = max_2mil;
const oai_max_temp = 2.0;
const claude_max_temp = 1.0;
@@ -5259,14 +5257,12 @@ async function onModelChange() {
if (oai_settings.chat_completion_source == chat_completion_sources.CLAUDE) {
if (oai_settings.max_context_unlocked) {
$('#openai_max_context').attr('max', unlocked_max);
- } else if (value.startsWith('claude-sonnet-4-5') || value.startsWith('claude-opus-4-6')) {
+ } else if (/^claude-(sonnet-4-5|sonnet-4-6|opus-4-6)/.test(value)) {
$('#openai_max_context').attr('max', max_1mil);
- } else if (value == 'claude-2.1' || value.startsWith('claude-3') || value.startsWith('claude-opus') || value.startsWith('claude-haiku') || value.startsWith('claude-sonnet')) {
+ } else if (/^claude-(3|opus|haiku|sonnet)/.test(value)) {
$('#openai_max_context').attr('max', max_200k);
- } else if (value.endsWith('100k') || value.startsWith('claude-2') || value === 'claude-instant-1.2') {
- $('#openai_max_context').attr('max', claude_100k_max);
} else {
- $('#openai_max_context').attr('max', claude_max);
+ $('#openai_max_context').attr('max', max_200k);
}
oai_settings.openai_max_context = Math.min(oai_settings.openai_max_context, Number($('#openai_max_context').attr('max')));
diff --git a/src/endpoints/backends/chat-completions.js b/src/endpoints/backends/chat-completions.js
index c680e8d18..a1578e95e 100644
--- a/src/endpoints/backends/chat-completions.js
+++ b/src/endpoints/backends/chat-completions.js
@@ -223,11 +223,11 @@ async function sendClaudeRequest(request, response) {
const useTools = Array.isArray(request.body.tools) && request.body.tools.length > 0;
const useSystemPrompt = Boolean(request.body.use_sysprompt);
const convertedPrompt = convertClaudeMessages(request.body.messages, request.body.assistant_prefill, useSystemPrompt, useTools, getPromptNames(request));
- const useThinking = /^claude-(3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5|opus-4-6)/.test(request.body.model);
- const useWebSearch = /^claude-(3-5|3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5|opus-4-6)/.test(request.body.model) && Boolean(request.body.enable_web_search);
- const isLimitedSampling = /^claude-(opus-4-1|sonnet-4-5|haiku-4-5|opus-4-5|opus-4-6)/.test(request.body.model);
- const useVerbosity = /^claude-(opus-4-5|opus-4-6)/.test(request.body.model);
- const noPrefillModel = /^claude-(opus-4-6)/.test(request.body.model);
+ const useThinking = /^claude-(3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5|opus-4-6|sonnet-4-6)/.test(request.body.model);
+ const useWebSearch = /^claude-(3-5|3-7|opus-4|sonnet-4|haiku-4-5|opus-4-5|opus-4-6|sonnet-4-6)/.test(request.body.model) && Boolean(request.body.enable_web_search);
+ const isLimitedSampling = /^claude-(opus-4-1|sonnet-4-5|haiku-4-5|opus-4-5|opus-4-6|sonnet-4-6)/.test(request.body.model);
+ const useVerbosity = /^claude-(opus-4-5|opus-4-6|sonnet-4-6)/.test(request.body.model);
+ const noPrefillModel = /^claude-(opus-4-6|sonnet-4-6)/.test(request.body.model);
let fixThinkingPrefill = false;
// Add custom stop sequences
const stopSequences = [];