diff --git a/aider/models.py b/aider/models.py index db0c28d1e..719a69d3a 100644 --- a/aider/models.py +++ b/aider/models.py @@ -74,6 +74,11 @@ claude-3-5-sonnet-20240620 claude-3-5-sonnet-20241022 claude-sonnet-4-20250514 claude-opus-4-20250514 +claude-opus-4-6 +claude-sonnet-4-5 +claude-sonnet-4-5-20250929 +claude-haiku-4-5 +claude-haiku-4-5-20251001 """ ANTHROPIC_MODELS = [ln.strip() for ln in ANTHROPIC_MODELS.splitlines() if ln.strip()] @@ -81,9 +86,9 @@ ANTHROPIC_MODELS = [ln.strip() for ln in ANTHROPIC_MODELS.splitlines() if ln.str # Mapping of model aliases to their canonical names MODEL_ALIASES = { # Claude models - "sonnet": "anthropic/claude-sonnet-4-20250514", - "haiku": "claude-3-5-haiku-20241022", - "opus": "claude-opus-4-20250514", + "sonnet": "claude-sonnet-4-5", + "haiku": "claude-haiku-4-5", + "opus": "claude-opus-4-6", # GPT models "4": "gpt-4-0613", "4o": "gpt-4o", @@ -507,6 +512,21 @@ class Model(ModelSettings): self.reminder = "sys" return # <-- + if ( + "sonnet-4-5" in model + or "opus-4-6" in model + or "haiku-4-5" in model + or "claude-sonnet-4-5" in model + or "claude-opus-4-6" in model + or "claude-haiku-4-5" in model + ): + self.edit_format = "diff" + self.use_repo_map = True + self.examples_as_sys_msg = False + if "thinking_tokens" not in self.accepts_settings: + self.accepts_settings.append("thinking_tokens") + return # <-- + if "3-7-sonnet" in model: self.edit_format = "diff" self.use_repo_map = True