From eb6fc15788d2a3808dfd7699eb553187cf79742b Mon Sep 17 00:00:00 2001 From: Alex Newman Date: Thu, 30 Apr 2026 22:42:22 -0700 Subject: [PATCH] fix(banner): play unconditionally; only honor CLAUDE_MEM_NO_BANNER MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 128-col / TTY / CI / NO_COLOR gates silently swallowed the banner in narrower terminals, CI logs, and any non-TTY pipe — including Docker runs where -it should preserve the experience but column width was the wrong gate. Remove the implicit gates; keep the explicit opt-out only. If a frame wraps in a narrow terminal, that's better than the banner not playing at all. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/npx-cli/banner.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/npx-cli/banner.ts b/src/npx-cli/banner.ts index 9a4b32cee..96c6dbe1d 100644 --- a/src/npx-cli/banner.ts +++ b/src/npx-cli/banner.ts @@ -101,12 +101,8 @@ function writeTaglineRow(text: string): string { } export function isBannerEnabled(): boolean { - if (!process.stdout.isTTY) return false; - if (process.env.CI) return false; if (process.env.CLAUDE_MEM_NO_BANNER) return false; - if (process.env.NO_COLOR) return false; - const cols = process.stdout.columns ?? 0; - return cols >= BANNER.width; + return true; } const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms));