diff --git a/src/agents/pi-embedded-runner/run.ts b/src/agents/pi-embedded-runner/run.ts index 870453f38..6b34ae97c 100644 --- a/src/agents/pi-embedded-runner/run.ts +++ b/src/agents/pi-embedded-runner/run.ts @@ -92,8 +92,22 @@ export async function runEmbeddedPiAgent( const resolvedWorkspace = resolveUserPath(params.workspaceDir); const prevCwd = process.cwd(); - const provider = (params.provider ?? DEFAULT_PROVIDER).trim() || DEFAULT_PROVIDER; - const modelId = (params.model ?? DEFAULT_MODEL).trim() || DEFAULT_MODEL; + // Check config for defaults first + let targetProvider = params.provider; + let targetModel = params.model; + + if (!targetProvider && !targetModel && params.config?.agents?.defaults?.model?.primary) { + // Resolve primary model from config (e.g. "google-gemini-cli/gemini-3-pro-preview") + const primary = params.config.agents.defaults.model.primary; + const parts = primary.split("/"); + if (parts.length === 2) { + targetProvider = parts[0]; + targetModel = parts[1]; + } + } + + const provider = (targetProvider ?? DEFAULT_PROVIDER).trim() || DEFAULT_PROVIDER; + const modelId = (targetModel ?? DEFAULT_MODEL).trim() || DEFAULT_MODEL; const agentDir = params.agentDir ?? resolveMoltbotAgentDir(); const fallbackConfigured = (params.config?.agents?.defaults?.model?.fallbacks?.length ?? 0) > 0;