From a554fad2327c68b2dc562a19e62a96415028b6d8 Mon Sep 17 00:00:00 2001 From: Carlo Wood Date: Thu, 16 Apr 2026 01:41:35 +0200 Subject: [PATCH] fix(tui): Don't overwrite the agent that was specified on the command line (#20554) --- packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx index 5a3e1d451d..d0f5b481cb 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx @@ -37,6 +37,7 @@ import { useToast } from "../../ui/toast" import { useKV } from "../../context/kv" import { useTextareaKeybindings } from "../textarea-keybindings" import { DialogSkill } from "../dialog-skill" +import { useArgs } from "@tui/context/args" export type PromptProps = { sessionID?: string @@ -81,6 +82,7 @@ export function Prompt(props: PromptProps) { const keybind = useKeybind() const local = useLocal() + const args = useArgs() const sdk = useSDK() const route = useRoute() const sync = useSync() @@ -202,7 +204,8 @@ export function Prompt(props: PromptProps) { // Only set agent if it's a primary agent (not a subagent) const isPrimaryAgent = local.agent.list().some((x) => x.name === msg.agent) if (msg.agent && isPrimaryAgent) { - local.agent.set(msg.agent) + // Keep command line --agent if specified. + if (!args.agent) local.agent.set(msg.agent) if (msg.model) { local.model.set(msg.model) local.model.variant.set(msg.model.variant)