From deccbca7d2c34ce6e5ded5b525eb676e516b6d8a Mon Sep 17 00:00:00 2001 From: Antisophy <293439221+Antisophy@users.noreply.github.com> Date: Wed, 10 Jun 2026 17:31:14 -0700 Subject: [PATCH] fix(claude): omit --model in completeOneShot when alias resolves empty the session spawn path guards with config.model.length > 0, letting an empty model_aliases entry suppress the flag so claude falls back to its own configured default; completeOneShot (used for title generation) passed --model unconditionally, so an empty alias produced `claude --model ""` which fails with API Error 400 ("String should have at least 1 character") and surfaced as "failed to generate title: claude exited with status 1" --- source/cydo/agent/claude.d | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/source/cydo/agent/claude.d b/source/cydo/agent/claude.d index 3428682..8a2bf5e 100644 --- a/source/cydo/agent/claude.d +++ b/source/cydo/agent/claude.d @@ -605,27 +605,22 @@ class ClaudeCodeAgent : Agent "HOME": environment.get("HOME", ""), ]; - string[] args; + auto model = resolveModelAlias(modelClass); + string[] args = [ + claudeBin, + "-p", prompt, + "--output-format", "text", + "--max-turns", "1", + "--tools", "", + "--no-session-persistence", + ]; + // an empty alias means no explicit model; omit the flag so claude + // falls back to its own configured default, matching the session + // spawn path's `config.model.length > 0` guard + if (model.length > 0) + args ~= ["--model", model]; if (launch.cmdPrefix !is null) - args = launch.cmdPrefix ~ [ - claudeBin, - "-p", prompt, - "--output-format", "text", - "--model", resolveModelAlias(modelClass), - "--max-turns", "1", - "--tools", "", - "--no-session-persistence", - ]; - else - args = [ - claudeBin, - "-p", prompt, - "--output-format", "text", - "--model", resolveModelAlias(modelClass), - "--max-turns", "1", - "--tools", "", - "--no-session-persistence", - ]; + args = launch.cmdPrefix ~ args; auto procEnv = launch.cmdPrefix is null ? env : null;