Skip to content

Commit f2cd359

Browse files
fix: claude code sub-agent models
- add translation for exact model numbers
1 parent 941c190 commit f2cd359

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/routes/messages/non-stream-translation.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,13 @@ import { mapOpenAIStopReasonToAnthropic } from "./utils"
2626

2727
// Payload translation
2828

29+
30+
2931
export function translateToOpenAI(
3032
payload: AnthropicMessagesPayload,
3133
): ChatCompletionsPayload {
3234
return {
33-
model: payload.model,
35+
model: translateModelName(payload.model),
3436
messages: translateAnthropicMessagesToOpenAI(
3537
payload.messages,
3638
payload.system,
@@ -46,6 +48,16 @@ export function translateToOpenAI(
4648
}
4749
}
4850

51+
function translateModelName(model: string): string {
52+
// Subagent requests use a specific model number which Copilot doesn't support
53+
if (model.startsWith("claude-sonnet-4-")) {
54+
return model.replace(/^claude-sonnet-4-.*/, "claude-sonnet-4")
55+
} else if (model.startsWith("claude-opus-")) {
56+
return model.replace(/^claude-opus-4-.*/, "claude-opus-4")
57+
}
58+
return model
59+
}
60+
4961
function translateAnthropicMessagesToOpenAI(
5062
anthropicMessages: Array<AnthropicMessage>,
5163
system: string | Array<AnthropicTextBlock> | undefined,

0 commit comments

Comments
 (0)