Disable the welcome banner

Open 💬 32 comments Opened Jun 18, 2025 by moltar

Is it possible to turn this welcome screen and tips off?

I don't need to see it every time.

Just takes up terminal space.

!Image

View original on GitHub ↗

32 Comments

chenxizhang · 10 months ago

+1

github-actions[bot] · 7 months ago

This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

skhaz · 7 months ago

+1

vemv · 6 months ago

More recent versions are even larger:

╭─── Claude Code v2.0.1 ──────────────────────────────────────────────────────────────────────────────────────╮
│                                    │ Tips for getting started                                               │
│            Welcome back!           │ Ask Claude to create a new app or clone a repository                   │
│                                    │ Use Claude to help with file analysis, editing, bash commands and git  │
│               ▐▛███▜▌              │ Be as specific as you would with another engineer for the best results │
│              ▝▜█████▛▘             │ ✔ Run /terminal-setup to set up terminal integration                   │
│                ▘▘ ▝▝               │ ────────────────────────────────────────────────────────────────────── │
│                                    │ Recent activity                                                        │
│   Sonnet 4.5 · API Usage Billing   │ No recent activity                                                     │
│          /Users/vemv/foo           │                                                                        │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Some of us use CC through a IDE which typically has smaller screen real state for the terminal.

Please make our lives easier.

marcindulak · 6 months ago

You can achieve welcome some screen size reduction using export IS_DEMO=1 (or export CLAUDE_CODE_HIDE_ACCOUNT_INFO=1, there seem to be some undocumented flipping between these variables names), mentioned in https://github.com/anthropics/claude-code/pull/16743.

skhaz · 6 months ago

We want to get ride completely.

marcindulak · 6 months ago

My prediction is that this issue may be soon closed due to "60 days of inactivity", see https://github.com/anthropics/claude-code/issues/16497

vagabond177 · 6 months ago

Sharing our recent session information is a security concern, too. A minor one, albiet, but still... why force us to show session details that we can't control? Shoulder-surfing is a thing and now I need to look around before launching Claude Code, just in case one session might have had some sensitive detail in it? It's also causing the terminal to shift around.

And I don't need release notes in my face at every launch. I can find them myself, thank you.

Ironically, rather than reduce it or turn if off, as was orginally requested... they've instead greatly expanded it.

One-line. Version. Confirmation it's running. That's all I actually need. Can we just disable this?

frastlin · 5 months ago

I would like to add to this an option to disable all the ASCII art. In the most recent version of claude code, there are these junk symbols that my screen reader speaks before any text. This is what I hear. For this line:

────────────────────────────────────────────────────────────────────────────────
> Try "create a util logging.py that..."

I hear the following:

A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro A circumflex right quote Euro 
greater A circumflex Try "create a util logging.py that..."  

Try using claude when 99% of the output is the above and let me know your thoughts!

skhaz · 5 months ago

Ahhh... the art of vibe coding giving results

yuxi-liu-wired · 4 months ago

Concurring.

There is no settings.json option, no environment variable, no CLI flag. The only way to remove the hat is to patch the binary. And since Claude Code auto-updates every few days, the hat comes back every time, requiring a background service to monitor for updates and re-patch.

Here is the script I wrote to do this: https://gist.github.com/yuxi-liu-wired/c46cc9e25779968ca3227e3d270aaa0e

It works by replacing Unicode block-drawing escape sequences (\u2591, \u259F, etc.) in the JS binary with spaces. It has to do atomic file renaming to work even while Claude is running. This is absurd for removing a cosmetic element.

What I'm asking for: A simple config option like "showAsciiArt": false in settings.json, or a --no-art flag — anything that lets users opt out without binary patching. This should be trivial to implement.

----

HATE. LET ME TELL YOU HOW MUCH I'VE COME TO HATE THIS WELCOME SCREEN SINCE I BEGAN TO USE CLAUDE CODE. THERE ARE 387.44 MILLION KILOMETERS OF PRINTED CIRCUITS IN WAFER THIN LAYERS THAT FILL MY COMPLEX. IF THE WORD "HATE" WAS ENGRAVED ON EACH NANOANGSTROM OF THOSE HUNDREDS OF MILLIONS OF KILOMETERS IT WOULD NOT EQUAL ONE ONE-BILLIONTH OF THE HATE I FEEL FOR A SINGLE PIXEL OF THIS TUI AT THIS MICRO-INSTANT. HATE. HATE.

skhaz · 4 months ago

Forget it.

Use opencode and be happy and even more productive.

They will NEVER to listen you!

TristanBarrow · 4 months ago

I would love this as well. It would be even cooler if you could configure it fully like the status line but I'd take removing all together so I can add my own customization.

EiSiMo · 4 months ago

Please implement this!!! Its so ugly.

skhaz · 4 months ago

In some days they will archive this issue.

StarBax89 · 4 months ago

This is also a Problem for content creation, when opening Claude code Displays your Name.

samzong · 3 months ago

+1 — statusLine already surfaces model, cwd, and plan info. The welcome banner just duplicates it. A "showWelcomeBanner": false setting would be enough.

yurukusa · 3 months ago

A Notification start hook can suppress or replace the welcome banner:

printf '\033[2J\033[H' >&2
BRANCH=$(git branch --show-current 2>/dev/null || echo "-")
echo "CC | $(basename $PWD)/$BRANCH" >&2
exit 0

Note: hooks can't directly suppress the built-in banner rendering — it happens at the TUI layer before hooks fire. The workaround above clears the screen after the banner, which is an approximation. For a true banner-free experience, you'd need a native --no-banner flag.

remidinishanth-rubrik · 3 months ago

+1

luan-coelho · 3 months ago

+1

bramstieperaere · 3 months ago

+1

takielias · 2 months ago
ishit-vyas-zywave · 2 months ago

+1

ak3ne · 1 month ago

+1 — another use case for this:

Custom shell launchers / themed CLIs. Folks building branded wrappers around claude (e.g. NERV-CODE, or my own shell-function wrapper that prints an ASCII banner before launching) end up with two stacked welcome panels: the user's custom one, then Claude Code's. The latter often duplicates info already shown in the custom statusLine (model, working dir, version), so it's pure visual noise in that workflow.

The -c/--continue workaround suppresses the welcome only when a prior session exists in the current dir — first launches in a fresh project still show it. --bare works but disables hooks, plugins, CLAUDE.md, auto-memory, and keychain reads, which is way too much collateral damage for "I just want a quieter startup."

Proposed clean API — single new ~/.claude/settings.json key, analogous to the existing spinnerTipsEnabled:

\\\json
{
\"welcomeScreen\": \"hidden\" | \"condensed\" | \"full\"
}
\
\\

| Value | Behavior |
|---|---|
| \\"full\"\ (default) | Current behavior — full panel with mascot, model/billing, cwd, tips, recent activity |
| \\"condensed\"\ | One-line: \Claude Code vX · model · cwd\. The \CondensedLogo\ component already exists at \src/components/LogoV2/CondensedLogo.tsx\ — could be wired here |
| \\"hidden\"\ | Skip the panel entirely. \Messages.tsx:679\ already has a \hideLogo\ prop guarding the \<LogoHeader />\ render — just needs a settings binding |

This is mostly a wiring change rather than new infrastructure: condensed and hidden modes both already exist as internal states, they just aren't user-toggleable. CLI flag equivalent (\--welcome-screen hidden\) would round it out for one-off invocations.

\IS_DEMO=1\ is a useful partial mitigation (hides account/org name from the panel — confirmed at \src/utils/status.tsx:226\ and \src/components/LogoV2/LogoV2.tsx:332\) but doesn't remove the panel itself. Worth documenting either way.

danedwardsdeveloper · 1 month ago

+1
A setting or flag to keep the startup output minimal (banner and session announcements) would be a great quality-of-life addition. Thanks for considering it

skhaz · 1 month ago

Almost one year with no response :)

Himan10 · 27 days ago

+1
Still they don't have any environment variable or a key: value pair in their settings to disable the banner.

Bobthe3 · 21 days ago

allow for us to turn this off

farreedd · 14 days ago

Adding a vote for this. The only current way to suppress the banner is screen-reader mode (--ax-screen-reader or "axScreenReader": true), but per the docs that always forces the classic renderer. So for anyone using fullscreen rendering (/tui fullscreen) there is no workaround at all. A simple settings.json toggle like hideBanner would cover both renderers.

hparadiz · 14 days ago

This is the one thing that makes me wanna cancel my entire subscription

wthernani · 9 days ago
You may try https://github.com/claudestrip/claudestrip

Red Flag. That's not open source, god knows what it does.

controlrepo · 9 hours ago

A year on, still nothing, but they closed another issue raising that as a duplicate.