diff --git a/packages/opencode/src/kilocode/cli/cmd/roll-call.ts b/packages/opencode/src/kilocode/cli/cmd/roll-call.ts index f75144f6c3f..318952f1e69 100644 --- a/packages/opencode/src/kilocode/cli/cmd/roll-call.ts +++ b/packages/opencode/src/kilocode/cli/cmd/roll-call.ts @@ -180,6 +180,8 @@ export async function handle(args: ArgumentsCamelCase) { if (models.length === 0) { if (!args.quiet && !structured) UI.println(`${color(UI.Style.TEXT_WARNING)}No models to test after filtering.${color(UI.Style.TEXT_NORMAL)}`) if (json) console.log(JSON.stringify([], null, 2)) + if (args.output === "md") console.log(formatMarkdown([])) + if (structured) return process.exitCode = 1 return } diff --git a/packages/opencode/test/kilocode/cli/roll-call.test.ts b/packages/opencode/test/kilocode/cli/roll-call.test.ts index a837422bad7..58f73e4a5a8 100644 --- a/packages/opencode/test/kilocode/cli/roll-call.test.ts +++ b/packages/opencode/test/kilocode/cli/roll-call.test.ts @@ -134,6 +134,7 @@ describe("handle", () => { test("does not print progress before markdown output", async () => { const logs: string[] = [] const print = console.log + const code = process.exitCode console.log = (msg?: unknown) => { logs.push(String(msg)) @@ -152,9 +153,9 @@ describe("handle", () => { }) } finally { console.log = print - process.exitCode = undefined + process.exitCode = code } - expect(logs).toEqual([]) + expect(logs).toEqual([formatMarkdown([])]) }) })