summaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-22 13:17:32 -0400
committerDax Raad <[email protected]>2025-05-22 13:17:32 -0400
commit2b258b14732c9a0f50cc3552a27ebf0f68be4e53 (patch)
tree741d3c567930bb0ded47472e77e9402cae60c8be /internal
parentdff8e77eb6d1709fa1ddeb52d0d9c19afd13d385 (diff)
downloadopencode-2b258b14732c9a0f50cc3552a27ebf0f68be4e53.tar.gz
opencode-2b258b14732c9a0f50cc3552a27ebf0f68be4e53.zip
switch default to claude sonnet 4
Diffstat (limited to 'internal')
-rw-r--r--internal/config/config.go8
-rw-r--r--internal/llm/models/anthropic.go15
2 files changed, 19 insertions, 4 deletions
diff --git a/internal/config/config.go b/internal/config/config.go
index 70c05ac02..432ba6e08 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -246,9 +246,9 @@ func setProviderDefaults() {
// Anthropic configuration
if key := viper.GetString("providers.anthropic.apiKey"); strings.TrimSpace(key) != "" {
- viper.SetDefault("agents.primary.model", models.Claude37Sonnet)
- viper.SetDefault("agents.task.model", models.Claude37Sonnet)
- viper.SetDefault("agents.title.model", models.Claude37Sonnet)
+ viper.SetDefault("agents.primary.model", models.Claude4Sonnet)
+ viper.SetDefault("agents.task.model", models.Claude4Sonnet)
+ viper.SetDefault("agents.title.model", models.Claude4Sonnet)
return
}
@@ -596,7 +596,7 @@ func setDefaultModelForAgent(agent AgentName) bool {
maxTokens = 80
}
cfg.Agents[agent] = Agent{
- Model: models.Claude37Sonnet,
+ Model: models.Claude4Sonnet,
MaxTokens: maxTokens,
}
return true
diff --git a/internal/llm/models/anthropic.go b/internal/llm/models/anthropic.go
index 156924a47..f67a74842 100644
--- a/internal/llm/models/anthropic.go
+++ b/internal/llm/models/anthropic.go
@@ -9,6 +9,7 @@ const (
Claude37Sonnet ModelID = "claude-3.7-sonnet"
Claude35Haiku ModelID = "claude-3.5-haiku"
Claude3Opus ModelID = "claude-3-opus"
+ Claude4Sonnet ModelID = "claude-4-sonnet"
)
// https://docs.anthropic.com/en/docs/about-claude/models/all-models
@@ -53,6 +54,20 @@ var AnthropicModels = map[ModelID]Model{
CanReason: true,
SupportsAttachments: true,
},
+ Claude4Sonnet: {
+ ID: Claude4Sonnet,
+ Name: "Claude 4 Sonnet",
+ Provider: ProviderAnthropic,
+ APIModel: "claude-sonnet-4-20250514",
+ CostPer1MIn: 3.0,
+ CostPer1MInCached: 3.75,
+ CostPer1MOutCached: 0.30,
+ CostPer1MOut: 15.0,
+ ContextWindow: 200000,
+ DefaultMaxTokens: 50000,
+ CanReason: true,
+ SupportsAttachments: true,
+ },
Claude35Haiku: {
ID: Claude35Haiku,
Name: "Claude 3.5 Haiku",