diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index dc89db409e87..f5d9b1b46d46 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -307,7 +307,17 @@ export namespace LLM { ...headers, }, maxRetries: input.retries ?? 0, - messages, + messages: [ + ...(input.model.api.npm === "@ai-sdk/anthropic" + ? system.map( + (x): ModelMessage => ({ + role: "system", + content: x, + }), + ) + : ([{ role: "system", content: system.join("\n") }] as ModelMessage[])), + ...input.messages, + ], model: wrapLanguageModel({ model: language, middleware: [