… off
Bulk command failures were silently swallowed when log.showConsoleLogs
was disabled — handleAndLogError only reaches the console through the
winston error transport, which is silenced in that mode, so the terminal
showed nothing on failure (e.g. an invalid stack API key).
Print a user-facing error line in BaseBulkCommand.catch() when console
logs are off, reusing cliErrorHandler.classifyError so the message
matches the friendly text written to the log file. Guarded to avoid
double-printing when console logs are on.
Ref: DX-10224
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Summary
Bulk command failures (cm:stacks:bulk-entries / bulk-assets / bulk-taxonomies) were silently swallowed when log.showConsoleLogs was disabled. The terminal showed nothing on failure — e.g. an invalid stack API key produced zero output — while the same failure printed correctly with console logs on.
Root cause
Errors flow through handleAndLogError → the winston error logger, whose console transport is silenced when console logging is off. The only re-emit path in logError is guarded by consoleLevel !== 'error', which is false for normal errors, so nothing reaches the terminal.
Fix
Scoped to the bulk-operations plugin (base-bulk-command.ts) — no changes to cli-utilities. In BaseBulkCommand.catch(), when console logs are off, print a user-facing error line via cliux.print, reusing cliErrorHandler.classifyError so the console message matches the friendly text written to the log file. Guarded to avoid double-printing when console logs are on.
All three bulk commands inherit this handler, so all are covered.
Verification
🤖 Generated with Claude Code