Skip to content

Commit b995b6e

Browse files
ericdalloeca-agent
andcommitted
Add Claude Opus 4.8 support
Register the model in the default Anthropic list, extend the v2 variant regex so it inherits the same adaptive-thinking presets as opus-4-7, allowlist it for built-in web-search, and document the v2 variants tier. 🤖 Generated with [eca](https://eca.dev) Co-Authored-By: eca-agent <git@eca.dev>
1 parent 0adf012 commit b995b6e

4 files changed

Lines changed: 19 additions & 2 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## Unreleased
44

55
- `bg_job` now shows the job name (from `shell_command`'s `background` arg) in `list`, `read_output` and `kill` outputs, e.g. `Background job "dev-server" (job-1) killed.`.
6+
- Add Claude Opus 4.8 support.
67

78
## 0.135.3
89

‎docs/config/variants.md‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,19 @@ ECA ships with built-in variants for some known models via the `variantsByModel`
2323
| `high` | `{"output_config": {"effort": "high"}, "thinking": {"type": "adaptive"}}` |
2424
| `max` | `{"output_config": {"effort": "max"}, "thinking": {"type": "adaptive"}}` |
2525

26+
=== "Anthropic (opus 4.7+)"
27+
28+
Applies to models matching `opus-4-7`, `opus-4-8` (any separator: `-`, `.`, `_`).
29+
30+
| Variant | Payload |
31+
| ---------- | ------- |
32+
| `default` | `{"thinking": {"type": "adaptive", "display": "summarized"}}` |
33+
| `low` | `{"output_config": {"effort": "low"}, "thinking": {"type": "adaptive", "display": "summarized"}}` |
34+
| `medium` | `{"output_config": {"effort": "medium"}, "thinking": {"type": "adaptive", "display": "summarized"}}` |
35+
| `high` | `{"output_config": {"effort": "high"}, "thinking": {"type": "adaptive", "display": "summarized"}}` |
36+
| `xhigh` | `{"output_config": {"effort": "xhigh"}, "thinking": {"type": "adaptive", "display": "summarized"}}` |
37+
| `max` | `{"output_config": {"effort": "max"}, "thinking": {"type": "adaptive", "display": "summarized"}}` |
38+
2639
=== "OpenAI"
2740

2841
Applies to models matching `gpt-5-3-codex`, `gpt-5-2`. Excluded for `github-copilot` provider.

‎src/eca/config.clj‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@
9393
:requiresAuth? true
9494
:models {"claude-sonnet-4-6" {}
9595
"claude-opus-4-6" {}
96-
"claude-opus-4-7" {}}}
96+
"claude-opus-4-7" {}
97+
"claude-opus-4-8" {}}}
9798
"github-copilot" {:api "openai-chat"
9899
:url "${env:GITHUB_COPILOT_API_URL:https://api.githubcopilot.com}"
99100
:key nil ;; not supported, requires login auth
@@ -191,7 +192,7 @@
191192
:shellCommand {:summaryMaxLength 35}
192193
:outputTruncation {:lines 2000 :sizeKb 50}}
193194
:variantsByModel {".*sonnet[-._]4[-._]6|opus[-._]4[-._][56]" {:variants anthropic-variants}
194-
".*opus[-._]4[-._]7" {:variants anthropic-v2-variants}
195+
".*opus[-._]4[-._][78]" {:variants anthropic-v2-variants}
195196
".*gpt[-._]5(?:[-._](?:2|4|5)(?!\\d)|[-._]3[-._]codex)" {:variants openai-variants
196197
:excludeProviders ["github-copilot"]}
197198
".*deepseek[-._]v4[-._]pro" {:variants deepseek-variants

‎src/eca/models.clj‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@
128128
"anthropic/claude-opus-4-5-20251101"
129129
"anthropic/claude-opus-4.7"
130130
"anthropic/claude-opus-4-7"
131+
"anthropic/claude-opus-4.8"
132+
"anthropic/claude-opus-4-8"
131133
"anthropic/claude-haiku-4-5-20251001"})
132134

133135
(defn ^:private all

0 commit comments

Comments
 (0)