From f7dc27f2d0ab0f19d87d587f2d8fda4c6b18855c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 24 Jan 2026 00:32:45 +0000 Subject: [PATCH] fix: move probe errors below table --- CHANGELOG.md | 1 + src/commands/models/list.status-command.ts | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdffcd256..9a605419f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ Docs: https://docs.clawd.bot - CLI: hide auth probe timeout warnings from embedded runs. - CLI: render auth probe results as a table in `clawdbot models status`. - CLI: suppress probe-only embedded logs unless `--verbose` is set. +- CLI: move auth probe errors below the table to reduce wrapping. - Linux: include env-configured user bin roots in systemd PATH and align PATH audits. (#1512) Thanks @robbyczgw-cla. - TUI: render Gateway slash-command replies as system output (for example, `/context`). - Media: preserve PNG alpha when possible; fall back to JPEG when still over size cap. (#1491) Thanks @robbyczgw-cla. diff --git a/src/commands/models/list.status-command.ts b/src/commands/models/list.status-command.ts index 6b8c8c36d..606b2dd0a 100644 --- a/src/commands/models/list.status-command.ts +++ b/src/commands/models/list.status-command.ts @@ -584,7 +584,6 @@ export async function modelsStatusCommand( const rows = sorted.map((result) => { const status = colorize(rich, statusColor(result.status), result.status); const latency = formatProbeLatency(result.latencyMs); - const detail = result.error ? colorize(rich, theme.muted, result.error) : ""; const modelLabel = result.model ?? `${result.provider}/-`; const modeLabel = result.mode ? ` ${colorize(rich, theme.muted, `(${result.mode})`)}` : ""; const profile = `${colorize(rich, theme.accent, result.label)}${modeLabel}`; @@ -593,7 +592,6 @@ export async function modelsStatusCommand( Model: colorize(rich, theme.heading, modelLabel), Profile: profile, Status: statusLabel, - Detail: detail, }; }); runtime.log( @@ -603,11 +601,22 @@ export async function modelsStatusCommand( { key: "Model", header: "Model", minWidth: 18 }, { key: "Profile", header: "Profile", minWidth: 24 }, { key: "Status", header: "Status", minWidth: 12 }, - { key: "Detail", header: "Detail", minWidth: 16, flex: true }, ], rows, }).trimEnd(), ); + const detailRows = sorted.filter((result) => Boolean(result.error?.trim())); + if (detailRows.length > 0) { + runtime.log(""); + runtime.log(colorize(rich, theme.muted, "Details")); + for (const result of detailRows) { + const modelLabel = colorize(rich, theme.heading, result.model ?? `${result.provider}/-`); + const profileLabel = colorize(rich, theme.accent, result.label); + runtime.log( + `- ${modelLabel} ${profileLabel}: ${colorize(rich, theme.muted, result.error ?? "")}`, + ); + } + } runtime.log(colorize(rich, theme.muted, describeProbeSummary(probeSummary))); } }