diff --git a/src/cli/capability-cli.test.ts b/src/cli/capability-cli.test.ts index c0cd0486426f..dc3f8e7979ef 100644 --- a/src/cli/capability-cli.test.ts +++ b/src/cli/capability-cli.test.ts @@ -875,6 +875,16 @@ describe("capability cli", () => { }); }); + it("renders an explicit empty model list without changing JSON output", async () => { + mocks.loadModelCatalog.mockResolvedValue([]); + + await runCapability("model", "list", "--json"); + expect(mocks.runtime.writeJson).toHaveBeenCalledWith([]); + + await runCapability("model", "list"); + expect(mocks.runtime.log).toHaveBeenCalledWith("No results found."); + }); + it("reports model providers configured through their environment key", async () => { vi.stubEnv("OPENAI_API_KEY", "test-openai-key"); diff --git a/src/cli/capability-cli/shared.ts b/src/cli/capability-cli/shared.ts index 5885fa301bc6..4ffb6cdcdf47 100644 --- a/src/cli/capability-cli/shared.ts +++ b/src/cli/capability-cli/shared.ts @@ -90,7 +90,7 @@ export function formatEnvelopeForText(value: unknown): string { export function providerSummaryText(value: unknown): string { const providers = value as Array>; - return providers.map((entry) => JSON.stringify(entry)).join("\n"); + return providers.map((entry) => JSON.stringify(entry)).join("\n") || "No results found."; } function hasOwnKeys(value: unknown): boolean {