branch: externals/llm
commit 5a9f792f1647107f9408af4e804d3ad7e9f285ff
Author: Andrew Hyatt <ahy...@gmail.com>
Commit: GitHub <nore...@github.com>

    Add Claude 4 family of models (#196)
---
 NEWS.org      |  2 ++
 llm-claude.el |  2 +-
 llm-models.el | 10 ++++++++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/NEWS.org b/NEWS.org
index 4d629d3d88..b40c3e2099 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,3 +1,5 @@
+* Version 0.26.1
+- Add Claude 4 models
 * Version 0.26.0
 - Call tools with =nil= when called with false JSON values.
 - Fix bug in ollama batch embedding generation.
diff --git a/llm-claude.el b/llm-claude.el
index fb9a5a94dc..73c0b64637 100644
--- a/llm-claude.el
+++ b/llm-claude.el
@@ -34,7 +34,7 @@
 ;; Models defined at https://docs.anthropic.com/claude/docs/models-overview
 (cl-defstruct (llm-claude (:include llm-standard-chat-provider))
   (key nil :read-only t)
-  (chat-model "claude-3-7-sonnet-20250219" :read-only t))
+  (chat-model "claude-sonnet-4-0" :read-only t))
 
 (cl-defmethod llm-nonfree-message-info ((_ llm-claude))
   "Return Claude's nonfree ToS."
diff --git a/llm-models.el b/llm-models.el
index 2aea2880d5..7b281894a3 100644
--- a/llm-models.el
+++ b/llm-models.el
@@ -126,6 +126,16 @@ REGEX is a regular expression that can be used to identify 
the model, uniquely (
     :context-length 8192
     :regex "text-embedding-ada-002")
    ;; https://docs.anthropic.com/en/docs/about-claude/models
+   (make-llm-model
+    :name "Claude 4 Opus" :symbol 'claude-4-opus
+    :capabilities '(generation tool-use image-input pdf-input caching)
+    :context-length 200000
+    :regex "claude-opus-4-0")
+   (make-llm-model
+    :name "Claude 4 Sonnet" :symbol 'claude-4-sonnet
+    :capabilities '(generation tool-use image-input pdf-input caching)
+    :context-length 200000
+    :regex "claude-sonnet-4-0")
    (make-llm-model
     :name "Claude 3.7 Sonnet" :symbol 'claude-3.7-sonnet
     :capabilities '(generation tool-use image-input pdf-input caching)

Reply via email to