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.
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.
32 Comments
+1
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.
+1
More recent versions are even larger:
Some of us use CC through a IDE which typically has smaller screen real state for the terminal.
Please make our lives easier.
You can achieve welcome some screen size reduction using
export IS_DEMO=1(orexport 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.We want to get ride completely.
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
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?
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:
I hear the following:
Try using claude when 99% of the output is the above and let me know your thoughts!
Ahhh... the art of vibe coding giving results
Concurring.
There is no
settings.jsonoption, 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": falseinsettings.json, or a--no-artflag — 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.Forget it.
Use opencode and be happy and even more productive.
They will NEVER to listen you!
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.
Please implement this!!! Its so ugly.
In some days they will archive this issue.
This is also a Problem for content creation, when opening Claude code Displays your Name.
+1 —
statusLinealready surfaces model, cwd, and plan info. The welcome banner just duplicates it. A"showWelcomeBanner": falsesetting would be enough.A
Notificationstart hook can suppress or replace the welcome banner: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-bannerflag.+1
+1
+1
You may try https://github.com/claudestrip/claudestrip
+1
+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 customstatusLine(model, working dir, version), so it's pure visual noise in that workflow.The
-c/--continueworkaround suppresses the welcome only when a prior session exists in the current dir — first launches in a fresh project still show it.--bareworks 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.jsonkey, analogous to the existingspinnerTipsEnabled:\
\\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.+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
Almost one year with no response :)
+1
Still they don't have any environment variable or a key: value pair in their settings to disable the banner.
allow for us to turn this off
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.
This is the one thing that makes me wanna cancel my entire subscription
Red Flag. That's not open source, god knows what it does.
A year on, still nothing, but they closed another issue raising that as a duplicate.