Discourse Chat

:discourse2: Summary Discourse Chat adds chat functionality to your Discourse instance.
:open_book: Install Guide This plugin is bundled with Discourse core. There is no need to install the plugin separately.

Features

As mentioned in our initial announcement and most recent update and threading announcement , this plugin adds chat functionality to your Discourse so it can natively support both, long-form and short-form communication needs of your online community.

Configuration

Initial setup

Chat is enabled by default for all our hosted sites, but if it is not yet enabled, you can go to /admin/plugins and toggle the plugin on:

By default, Chat will be available to the staff group only, but you can add more groups by adding them to the chat allowed groups setting.

Channel retention

By default, channels are configured to retain messages for 90 days and direct and group messages are configured to retain messages forever, but these are configurable site settings:

  • chat channel retention days (default 90 days)
    Choose how long to retain Chat messages for channels
  • chat dm retention days (default forever)
    Choose how long to retain your Chat messages for direct message and group message channels

Other site settings

Additional site settings allow you to configure a set of default emoji reactions and a range of safety features (such as maximum chat messages per second, minimum message length, silence duration, and whether to allow uploads).

Accessing channels and creating new channels

After the plugin is enabled, a speech bubble will appear in the header next to the Search icon, and clicking on that will open your Full Screen Chat window, where you can access default channels as well as start new personal chats. To navigate back to your Full Screen Chat window from inside each channel, use the < icon in the top left corner.

Using the Screenshot 2022-06-24 at 5.52.54 PM button on any Chat window, you can toggle between Full Screen mode and Drawer mode.

Create a channel

To create a new channel (staff only), go to /chat/browse/open by clicking select the :pencil: icon in the channel sidebar:

Then, select New channel from the top-right of the page. Choose a category to associate it with, give it a name, an emoji, and add an optional description to display on the Browse Channels page.

A Category can have multiple channels associated to it, and more can be added anytime. As a channel is always linked to a category, you can rely on existing category permissions to automatically limit who has access to that particular conversation.

:bulb: Want a channel just for your TL3+ users? Then creating a new channel for your lounge category will do just that.

Threading

Channels can have threading enabled on creation, or later on in the channel settings page:

When a member replies to a chat message when the channel has threading enabled, a thread sidebar will open, and an excerpt of the latest message in the thread will show beneath the original message in the main channel stream:

Threads have similar tracking levels to topics, which can be changed via the :bell: icon at the top right corner of the thread:

The creator of the thread can change the thread title. On Discourse hosted sites, AI thread title generation is enabled by default :sparkles:

Members can see all the threads they are participating in via the “My Threads” link at the top of the chat sidebar:

Joining a channel

You can preview and join channels from the ‘Browse channels’ page. From this page, you can view all the channels that are visible to you and eligible to join.

Inviting users to channels with @mentions

@mentioning individual users or groups will give the option to invite them to the channel if they aren’t participants already. To invite groups in this way, the ‘Who can @mention this group?’ on the group’s /manage/interaction page must be set to something other than ‘Nobody’.

Starting a direct message or group chat

To start a direct message, use the :heavy_plus_sign: icon on your Full Screen Chat window in the DMs section and start adding usernames to the recipients list. To leave a direct message or group chat click the X icon next to the channel name (only on desktop).

:information_source: If you accidentally leave a direct message, starting a new chat with the same person/people will link you back to the messages sent previously.

Chat message options

Like topics, chat messages support:

  • Edits
  • Replies
  • Quoting
  • Oneboxing
  • Reactions
  • Bookmarks
  • Deletion

In the composer, you can insert dates, upload files, and GIFs! Chat channels support channel-wide @here and @all mentions with per channel while presence features like a green halo for online users & username is typing… indicator are also present.

You can also select one or more chat messages and ‘Quote to topic’ to take a quick conversation and make it into a Discourse topic for in-depth discussion, or press ‘Copy’ to get the messages onto your clipboard to post into an existing topic or different chat channel:

Admins and moderators also have the ability to select chat messages and move them to a different channel.

Automatically add users to a channel

While creating a new channel, admins will now see a preference to add all new and existing users to it. Using this, admins can configure “default channels” for groups of users to be included in automatically:

For an existing channel, admins can toggle this behaviour in Channel Settings. In all cases, a confirmation dialog will appear to indicate the number of users being added.

Search

Members can search either individual channel messages with the search icon at the top right of each channel:

Or search all channels via the “Search” link at the top of the chat sidebar:

Chat information panel

Clicking a channel title will now take users to a useful info panel with two tabs:

  • The Settings tab will display title, description and linked category, so users have the context they need for each channel.

    It will let also you set notification preferences (mute, desktop / mobile push notifications). For admins, this tab also includes the auto-join mode toggle, close channel, and archive channel buttons.

  • The Members tab lets users see who else is in the room with them (member list and total count). It includes a filter so they can use search.

image

Chat preferences

When Chat is enabled, users see a new /preferences/chat page in their preferences. On this page, they can opt-out of Chat, opt-out of the @here and @all notifications, manage their Chat email notifications or choose a desktop sound.

The existing settings on /preferences/users page also apply to chat direct messages, so users can also turn off direct messages or mute or ignore other individual users.

Closing, deleting, and archiving channels

Admins and moderators can close or delete channels from the channel’s settings page, which can by accessed by clicking the channel name in the channel’s header. A closed channel can be reopened any time, but deleting a channel is not reversible, so there is an additional confirmation check in place.

To archive a channel, the chat allow archiving channels setting must be enabled, and the channel must be closed. You can then choose “Archive channel” from channel settings, and you will be presented with a modal that asks if you want to create a new topic or use an existing topic for the archive process:

Archiving will copy the chat messages into a chat transcript then post them in the selected topic, and they appear like this:

Integrations

Discourse Chat supports Incoming webhooks but has no support for interactive bots or slash commands yet.

:loudspeaker: Sending Chat messages using Incoming webhooks [Slack-compatible]

The UI for creating webhooks can be found at Admin > Plugins > Chat > New incoming webhook. You can configure a name, description, username (that posts messages), destination channel and emoji for each webhook.

:discourse2: Hosted by us? Chat is included as a bundled plugin for everyone. :partying_face:

Last edited by @martin 2026-06-16T03:42:05Z

Check documentPerform check on document:
46 Likes
Now I've got Chat :speech_balloon: what do I do with Personal Messages?
Introducing Discourse Chat (BETA)
Add Option to Disable User-User Chat
Are chat messages hard deleted after the retention period?
Can I make chat visible for users who aren't logged in?
Use the api to post to chat channel?
Community Guide: Activating Lurkers
OP Contents on Progress Bar
Discourse Disorder
Channels, What are they?
In private chats AI uses threads
Improve editiability and visibility of Chat channel descriptions
Chat-like forums - open topic to the right from the list of topics
Chat settings missing?
Advice on a support forum
Using user cards to quickly view information about others
Discourse Gamification
Can anyone help me to add chat option of discord on forum?
Discourse Automation
Watched Words Reference Guide
Mattermost to Discourse Chat via incoming webhooks
Building a technical support chatbot
Can I auto-generate a post title
Discourse Livestream
Discourse Version 3.2
Discourse Chat Integrations
Chat button on usercard
3.0.0.beta15: Closing into Discourse 3.0 (with Sidebar, Chat, New Menus and more)
Discourse Calendar and Events
Hashtags are getting a #makeover
Migrating an existing community to Discourse
Is it possible to use Discourse Chat with the stable version?
What is the best way to run a support channel?
Try out the new sidebar and notification menus!
Discourse Livestream
Trust Level Permissions Reference
Request a howto auto post from a RSS feed to a chat channel by eg. using make.com?
Referencing types of review items created by plugins
Dedicated chat client?

A post was merged into an existing topic: Using the translator API’s on chat

4 posts were split to a new topic: Remove a user from a channel

Request a feature that allowing iframe in Discourse Chat

1 Like

Request a feature to add free webRTC or jitsi based audio and video personal and group video and audio calls in the chat please. It will hugely increase community engagement.

How do we allow anonymous users and guest to participate in DMs and group channels chats?

How to stop external links from being sent to avoid spammers spamming urls and links in chats? Any filtering or banned words or regex to filter in the chat?

Allow admins and mods to make group announcements in all DMs and all private group channels.

2 Likes

That already exists with Jitsi:

We found that with our own Jitsi instance we could improve the oneboxing so that it is much more obvious what is going on.

2 Likes

2 posts were split to a new topic: NSFW image blurring in chat

Are these messages retained in the database once deleted?

1 Like

I just happened to have a chat channel that was no longer active… so I ran a Data Explorer query. And the answer is no, they are completely deleted from the database.

7 Likes

Any plans on incorporating voice chat into this?

3 Likes
2 Likes

Hello!, I was exploring chat features, and I have added some images to a chat message. The images show up properly, but, I thought that when I click on the images they will jump into an overlay and enlarge the image to the original size, or something that makes it possible to visualize the image in a larger size, but nothing happened. Is that something I need to configure?, or that feature is not available for chats?
Thanks!

1 Like

Hello and welcome @c0d3m3nt0r :slight_smile:

There’s actually been another report of this in Chat: Make image lightbox match core. There’s a possibility it may be a non-official plugin that’s interfering somehow.

From what we can tell, it’s working as intended in chat here on meta and clicking on an image in chat does enlarge it.

Do you have any special setup/plugins/configuration that may help narrow it down?

2 Likes

As an Admin, being able to reorder the Channels in the sidebar, similar to Discord, would be great. I was thinking of using both Discourse and Discord, but I can see how I can now remove a lot of things from Discord and use my forum for that, but having a specific structure for my channels order would be essential.

2 Likes

I also think that we should be able to create channels that are not linked to categories. There’s nothing in a channel that seems linked to a category when we are in a chat room, so I don’t see why they need to be linked.

If someone with a forum wants to have a chat for “gaming”, that doesn’t mean they need to go and create a category for that, because maybe that category will not have any traffic at all and it’s just another thing to crowd the categories list, when there’s no need to.

2 Likes

You can create multiple channels all associated with a single category – no need to create a category for every channel.

That said, you’re not the first to point out that the category relationship feels unnecessary. Here’s another recent feature topic about this: Make it easier to add people to channels through chat UX

4 Likes

In that case, it makes the feature even more “obsolete”, because there’s no real connection to the categories.
Not that this is an issue, but it’s just another thing that’s just there without real meaning behind it.

But at least knowing that multiple channels can be linked ot the same category, avoids adding categories just for the sake of creating new channels. Thanks for the info.

2 Likes

Yes the category currently serves primarily as a means to define access control for the channels within it.

So the feature I linked to above would make that part obsolete. In the meantime, that’s the main purpose the relationship serves.

3 Likes

Just to make sure I understand: you mean that for example a certain group of people that can access category A, is the same group of people that can access one or more channels that are linked to that category A? Is that what you mean?

If so, since I believe that categories and channels should be separate features, then the permissions could be set on a Channel level by type of user, or by creating Channel Groups, if that makes sense?

I’m thinking of how Discord works where each channel can be assigned to different Roles.

2 Likes

Yes, exactly.

5 Likes