diff --git a/src/acp-agent.ts b/src/acp-agent.ts index 2cc34fb5..12b9cbdb 100644 --- a/src/acp-agent.ts +++ b/src/acp-agent.ts @@ -169,10 +169,24 @@ export class ClaudeAcpAgent implements Agent { }, }; + let systemPrompt: Options["systemPrompt"] = { type: "preset", preset: "claude_code" }; + if (params._meta?.systemPrompt) { + const customPrompt = params._meta.systemPrompt; + if (typeof customPrompt === "string") { + systemPrompt = customPrompt; + } else if ( + typeof customPrompt === "object" && + "append" in customPrompt && + typeof customPrompt.append === "string" + ) { + systemPrompt.append = customPrompt.append; + } + } + const options: Options = { cwd: params.cwd, mcpServers, - systemPrompt: { type: "preset", preset: "claude_code" }, + systemPrompt, settingSources: ["user", "project", "local"], permissionPromptToolName: PERMISSION_TOOL_NAME, stderr: (err) => console.error(err),