Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Banner

Display announcements and notices to your users

Display important messages to all your users at the top of the app. Perfect for announcements, maintenance notices, or updates.

Quick Overview

  • Only one banner can be active at a time
  • Schedule banners to appear and disappear automatically
  • Choose whether users can dismiss the banner or not
  • Show banners to everyone, or only logged-in users

Creating a Banner

Run this command to create or update a banner:

npm run update-banner

You'll be guided through a few simple prompts:

--------------------------
Update the banner!
--------------------------
Display From (Format: yyyy-mm-ddTHH:MM:SSZ, Default: now):
> 2025-12-02T09:00:00Z

Display To (Format: yyyy-mm-ddTHH:MM:SSZ, Default: not specified):
> 2025-12-31T23:59:59Z

Enter your message (Enter a single dot "." on a new line to finish):
> 🎉 Welcome to LibreChat! Check out our new features.
> .

Is public (y/N):
> n

Is persistable (cannot be dismissed) (y/N):
> n

What do these options mean?

  • Display From/To: When the banner should appear and disappear. Leave empty for "now" and "forever"
  • Is public: Show to visitors who aren't logged in (like on the login page)
  • Is persistable: If yes, users can't dismiss the banner — use for important notices

Running this again replaces the existing banner

There is only ever one banner. update-banner looks for an existing banner and overwrites it in place, creating one only when none exists, so you cannot queue up a second banner for a later date, and you cannot have two scheduled windows overlap. Running the command again discards the previous banner's message and schedule.

To change a banner, run update-banner again. To take one down before its Display To time, use delete-banner below.


Deleting a Banner

npm run delete-banner

You'll see the current banner and be asked to confirm before deleting.

Removing a banner this way is also how you take one down early: there is no "disable" flag. A banner otherwise disappears on its own once Display To passes, and one saved with no Display To stays up until you delete it.


Example Banners

A simple welcome message that users can dismiss:

npm run update-banner "" "" "👋 Welcome to LibreChat!" "false" "false"

A scheduled maintenance notice that can't be dismissed:

npm run update-banner "2025-12-20T00:00:00Z" "2025-12-21T06:00:00Z" "⚠️ Scheduled maintenance on Dec 20th, 2-6 AM UTC" "true" "true"

An urgent security notice visible to everyone:

npm run update-banner "" "" "🔒 Please update your password by January 1st" "true" "true"

Date Format

Use this format for dates: yyyy-mm-ddTHH:MM:SSZ

Examples:

  • 2025-12-25T09:00:00Z → December 25, 2025 at 9:00 AM (UTC)
  • 2025-01-01T00:00:00Z → January 1, 2025 at midnight (UTC)

Leave the date empty to use the current time or no end date.

How is this guide?