From 752e038914c71021abd68ff4f147b0e520d651bc Mon Sep 17 00:00:00 2001 From: Ethan Hurst Date: Tue, 24 Feb 2026 20:07:15 +1000 Subject: [PATCH] fix: load model_overrides from config and use resolveModelInternal in CLI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit loadConfig() never returned model_overrides, so resolveModelInternal() could never find per-agent overrides — they were silently ignored. Additionally, cmdResolveModel duplicated model resolution logic but skipped the override check entirely. Now delegates to resolveModelInternal so both code paths behave consistently. --- get-shit-done/bin/lib/commands.cjs | 13 ++++--------- get-shit-done/bin/lib/core.cjs | 1 + 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/get-shit-done/bin/lib/commands.cjs b/get-shit-done/bin/lib/commands.cjs index d549f6b9d..829ba993a 100644 --- a/get-shit-done/bin/lib/commands.cjs +++ b/get-shit-done/bin/lib/commands.cjs @@ -204,17 +204,12 @@ function cmdResolveModel(cwd, agentType, raw) { const config = loadConfig(cwd); const profile = config.model_profile || 'balanced'; + const model = resolveModelInternal(cwd, agentType); const agentModels = MODEL_PROFILES[agentType]; - if (!agentModels) { - const result = { model: 'sonnet', profile, unknown_agent: true }; - output(result, raw, 'sonnet'); - return; - } - - const resolved = agentModels[profile] || agentModels['balanced'] || 'sonnet'; - const model = resolved === 'opus' ? 'inherit' : resolved; - const result = { model, profile }; + const result = agentModels + ? { model, profile } + : { model, profile, unknown_agent: true }; output(result, raw, model); } diff --git a/get-shit-done/bin/lib/core.cjs b/get-shit-done/bin/lib/core.cjs index 6cefea5a2..20aab2803 100644 --- a/get-shit-done/bin/lib/core.cjs +++ b/get-shit-done/bin/lib/core.cjs @@ -104,6 +104,7 @@ function loadConfig(cwd) { verifier: get('verifier', { section: 'workflow', field: 'verifier' }) ?? defaults.verifier, parallelization, brave_search: get('brave_search') ?? defaults.brave_search, + model_overrides: parsed.model_overrides || null, }; } catch { return defaults;