Startup banner renders 6+ times progressively on WSL - need quiet/minimal startup option

Resolved 💬 3 comments Opened Apr 15, 2026 by Ana-James Closed Apr 19, 2026

Description

On WSL2 (Windows Terminal), the Claude Code startup banner renders progressively 6+ times during initialization. Each loading phase (MCP server connections, hooks, CLAUDE.md files) triggers a full re-render of the logo/header, filling the terminal with duplicate banners before the prompt appears.

Previously this was 3 renders, but as more MCP servers and hooks were added, it grew to 6+.

Environment

  • Claude Code v2.1.109
  • WSL2 on Windows 11
  • Windows Terminal
  • 5 Slack MCP servers + github + gmail + notion + firecrawl + other MCPs (~20 total)
  • Multiple hooks (SessionStart, PreToolUse, PostToolUse, etc.)

Steps to Reproduce

  1. Configure 10+ MCP servers and several hooks
  2. Launch claude in WSL terminal
  3. Watch the banner/header render 6+ times progressively before the prompt appears

Expected Behavior

Banner renders once (or at most twice), regardless of how many MCP servers/hooks are loading.

Actual Behavior

Banner re-renders with each initialization phase. More MCP servers = more re-renders. The terminal fills with 6+ copies of the logo before becoming interactive.

Workarounds Considered

  • CLAUDE_CODE_NO_FLICKER=1 fixes this but disables terminal scrollback, which is a dealbreaker for users who need to scroll up through conversation history
  • DISABLE_NON_ESSENTIAL_MODEL_CALLS=1 only removes tips, not the banner re-renders

Proposed Solution

A setting like showStartupBanner: false or ui.minimalStartup: true that renders the banner once and suppresses re-renders during loading phases. Related to #5474 and #2254.

The progressive rendering should buffer initialization and render the final state once, rather than re-rendering at each phase.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗