From 835133519eed1c1bdf0a50d0be501e833a61d172 Mon Sep 17 00:00:00 2001 From: NieiR <31194814+NieiR@users.noreply.github.com> Date: Wed, 21 Jan 2026 15:59:38 +0800 Subject: [PATCH] fix: prevent model parameter from being set to arbitrary strings (#93) --- cli/src/claude/runClaude.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/cli/src/claude/runClaude.ts b/cli/src/claude/runClaude.ts index b2509067..717f8aa4 100644 --- a/cli/src/claude/runClaude.ts +++ b/cli/src/claude/runClaude.ts @@ -140,8 +140,7 @@ export async function runClaude(options: StartOptions = {}): Promise { // Forward messages to the queue let currentPermissionMode: PermissionMode = options.permissionMode ?? 'default'; - let currentModel = options.model; // Track current model state - let currentModelMode: SessionModelMode = currentModel === 'sonnet' || currentModel === 'opus' ? currentModel : 'default'; + let currentModelMode: SessionModelMode = options.model === 'sonnet' || options.model === 'opus' ? options.model : 'default'; let currentFallbackModel: string | undefined = undefined; // Track current fallback model let currentCustomSystemPrompt: string | undefined = undefined; // Track current custom system prompt let currentAppendSystemPrompt: string | undefined = undefined; // Track current append system prompt @@ -163,7 +162,7 @@ export async function runClaude(options: StartOptions = {}): Promise { currentPermissionMode = sessionPermissionMode as PermissionMode; } const messagePermissionMode = currentPermissionMode; - const messageModel = currentModel; + const messageModel = currentModelMode === 'default' ? undefined : currentModelMode; logger.debug(`[loop] User message received with permission mode: ${currentPermissionMode}, model: ${currentModelMode}`); // Resolve custom system prompt - use message.meta.customSystemPrompt if provided, otherwise use current @@ -301,7 +300,6 @@ export async function runClaude(options: StartOptions = {}): Promise { if (config.modelMode !== undefined) { const resolvedModelMode = resolveModelMode(config.modelMode); currentModelMode = resolvedModelMode; - currentModel = resolvedModelMode === 'default' ? undefined : resolvedModelMode; } syncSessionModes();