diff --git a/src/agents/orchestrator-sisyphus.ts b/src/agents/orchestrator-sisyphus.ts index afb8a4b0..4e424da9 100644 --- a/src/agents/orchestrator-sisyphus.ts +++ b/src/agents/orchestrator-sisyphus.ts @@ -13,6 +13,7 @@ import { createAgentToolRestrictions } from "../shared/permission-compat" */ export interface OrchestratorContext { + model?: string availableAgents?: AvailableAgent[] availableSkills?: AvailableSkill[] userCategories?: Record @@ -1432,6 +1433,8 @@ function buildDynamicOrchestratorPrompt(ctx?: OrchestratorContext): string { .replace("{SKILLS_SECTION}", skillsSection) } +const DEFAULT_MODEL = "anthropic/claude-sonnet-4-5" + export function createOrchestratorSisyphusAgent(ctx?: OrchestratorContext): AgentConfig { const restrictions = createAgentToolRestrictions([ "task", @@ -1442,7 +1445,7 @@ export function createOrchestratorSisyphusAgent(ctx?: OrchestratorContext): Agen description: "Orchestrates work via sisyphus_task() to complete ALL tasks in a todo list until fully done", mode: "primary" as const, - model: "anthropic/claude-sonnet-4-5", + model: ctx?.model ?? DEFAULT_MODEL, temperature: 0.1, prompt: buildDynamicOrchestratorPrompt(ctx), thinking: { type: "enabled", budgetTokens: 32000 }, diff --git a/src/agents/utils.ts b/src/agents/utils.ts index 3831ef69..4a60dac6 100644 --- a/src/agents/utils.ts +++ b/src/agents/utils.ts @@ -176,7 +176,11 @@ export function createBuiltinAgents( if (!disabledAgents.includes("orchestrator-sisyphus")) { const orchestratorOverride = agentOverrides["orchestrator-sisyphus"] - let orchestratorConfig = createOrchestratorSisyphusAgent({ availableAgents }) + const orchestratorModel = orchestratorOverride?.model + let orchestratorConfig = createOrchestratorSisyphusAgent({ + model: orchestratorModel, + availableAgents, + }) if (orchestratorOverride) { orchestratorConfig = mergeAgentConfig(orchestratorConfig, orchestratorOverride)