diff --git a/packages/opencode/src/cli/cmd/agent.ts b/packages/opencode/src/cli/cmd/agent.ts index 0dd6311d..e1bf2fbc 100644 --- a/packages/opencode/src/cli/cmd/agent.ts +++ b/packages/opencode/src/cli/cmd/agent.ts @@ -46,7 +46,10 @@ const AgentCreateCommand = cmd({ const spinner = prompts.spinner() spinner.start("Generating agent configuration...") - const generated = await Agent.generate({ description: query }) + const generated = await Agent.generate({ description: query }).catch((error) => { + spinner.stop(`LLM failed to generate agent: ${error.message}`, 1) + throw new UI.CancelledError() + }) spinner.stop(`Agent ${generated.identifier} generated`) const availableTools = [ diff --git a/packages/opencode/src/cli/cmd/upgrade.ts b/packages/opencode/src/cli/cmd/upgrade.ts index 75db36a9..8c1abdea 100644 --- a/packages/opencode/src/cli/cmd/upgrade.ts +++ b/packages/opencode/src/cli/cmd/upgrade.ts @@ -45,7 +45,7 @@ export const UpgradeCommand = { spinner.start("Upgrading...") const err = await Installation.upgrade(method, target).catch((err) => err) if (err) { - spinner.stop("Upgrade failed") + spinner.stop("Upgrade failed", 1) if (err instanceof Installation.UpgradeFailedError) prompts.log.error(err.data.stderr) else if (err instanceof Error) prompts.log.error(err.message) prompts.outro("Done")