Skip to content

Site Configuration Settings

import useBaseUrl from '@docusaurus/useBaseUrl';

Review and manage the following site configuration options in the System Console by selecting the Product <img src={useBaseUrl('/img/ui/products_E82F.svg')} alt="Navigate between Channels, collaborative playbooks, and boards using the product menu icon." className="theme-icon" /> menu, selecting System Console, and then selecting Site Configuration:

System admins managing a self-hosted Mattermost deployment can edit the config.json file as described in the following tables. Each configuration value below includes a JSON path to access the value programmatically in the config.json file using a JSON-aware tool. For example, the SiteName value is under TeamSettings.

  • If using a tool such as jq, you'd enter: cat config/config.json | jq '.TeamSettings.SiteName'
  • When working with the config.json file manually, look for an object such as TeamSettings, then within that object, find the key SiteName.


Customization

Access the following configuration settings in the System Console by going to Site Configuration > Customization.

Site name

Name of the site shown in login screens and user interface.

String input. Maximum 30 characters. Default is Mattermost

  • System Config path: Site Configuration > Customization
  • config.json setting: TeamSettings > SiteName
  • Environment variable: MM_TEAMSETTINGS_SITENAME

Site description

Text displayed above the login form. When not specified, the phrase "Log in" is displayed.

String input.

  • System Config path: Site Configuration > Customization
  • config.json setting: TeamSettings > CustomDescriptionText
  • Environment variable: MM_TEAMSETTINGS_CUSTOMDESCRIPTIONTEXT

Enable custom branding

  • true: Enables the display of a custom image and text on the login page
  • false: (Default) Custom branding is disabled

See also the custom brand image and custom brand text configuration settings for more branding options.

  • System Config path: Site Configuration > Customization
  • config.json setting: TeamSettings > EnableCustomBrand > false
  • Environment variable: MM_TEAMSETTINGS_ENABLECUSTOMBRAND

Custom brand image

A JPG image for display on the login page. The image must be uploaded through the System Console. There is no config.json setting. The file should be smaller than 2 MB.

Enable custom branding must be set to true to display the image.

  • System Config path: Site Configuration > Customization
  • config.json setting: N/A
  • Environment variable: N/A

Custom brand text

Text that will be shown below the Custom brand image on the login page. | - System Config path: Site Configuration > Customization | You can format this text using the same Markdown formatting | - config.json setting: TeamSettings > CustomBrandText as in Mattermost messages. | - Environment variable: MM_TEAMSETTINGS_CUSTOMBRANDTEXT | | | String input. Maximum 500 characters. Enable custom branding | | must be set to true to display the text. | |

Enable theme selection

  • true: (Default) Enables the Display > Theme tab in Settings so users can select their theme.
  • false: Users can't select a different theme. The Display > Theme tab is hidden in Settings.
  • System Config path: Site Configuration > Customization
  • config.json setting: ThemeSettings > EnableThemeSelection > true
  • Environment variable: MM_THEMESETTINGS_ENABLETHEMESELECTION

Allow custom themes

  • true: (Default) Enables the Display > Theme > Custom Theme section in Settings.
  • false: Users can't use a custom theme. The Display > Theme > Custom Theme section is hidden in Settings.
  • System Config path: Site Configuration > Customization
  • config.json setting: ThemeSettings > AllowCustomThemes > true
  • Environment variable: MM_THEMESETTINGS_ALLOWCUSTOMTHEMES

Allowed themes

Restrict the themes users can select in Display > Theme to a comma-separated list of theme names. Requires Enable theme selection to be set to true.

String array input consisting of the options denim, sapphire, quartz, indigo, and onyx. Default is an empty array, which allows all themes.

  • System Config path: Site Configuration > Customization
  • config.json setting: ThemeSettings > AllowedThemes > []
  • Environment variable: MM_THEMESETTINGS_ALLOWEDTHEMES

Default theme

Set a default theme that applies to all new users on the system.

String input. One of denim, sapphire, quartz, indigo, or onyx. Default is default, which resolves to the Denim theme.

  • System Config path: Site Configuration > Customization
  • config.json setting: ThemeSettings > DefaultTheme > default
  • Environment variable: MM_THEMESETTINGS_DEFAULTTHEME
  • true: (Default) A link to the Mattermost Community appears as Ask the community under the Help menu in the channel header.
  • false: The link does not appear.

The link does not display on mobile apps.

  • System Config path: Site Configuration > Customization
  • config.json setting: SupportSettings > EnableAskCommunityLink > true
  • Environment variable: MM_SUPPORTSETTINGS_ENABLEASKCOMMUNITYLINK

This field sets the URL for the Help link on the login and sign up pages, as well as the Help Resources link under the Help menu in the channel header.

String input. Default is https://about.mattermost.com/default-help/.

  • System Config path: Site Configuration > Customization
  • config.json setting: SupportSettings > HelpLink
  • Environment variable: MM_SUPPORTSETTINGS_HELPLINK

If this value is empty, the Help link is hidden on the login and sign up pages. However, the Help Resources link remains available under the Help menu.

This field sets the URL for the Terms of Use of a self-hosted site. A link to the terms appears at the bottom of the sign-up and login pages.

The default URL links to a Terms of Use page hosted on mattermost.com. This includes the Mattermost Acceptable Use Policy explaining the terms under which Mattermost software is provided to end users. If you change the default link to add your own terms, the new terms must include a link to the default terms so end users are aware of the Mattermost Acceptable Use Policy.

String input. Default is https://about.mattermost.com/default-terms/.

  • System Config path: Site Configuration > Customization
  • config.json setting: SupportSettings > TermsOfServiceLink
  • Environment variable: MM_SUPPORTSETTINGS_TERMSOFSERVICELINK

- Customers with a Mattermost subscription may replace or override the Acceptable Use Policy with their own acceptable use or conduct policies, based on contractual terms with Mattermost, so long as your own terms either incorporate the Acceptable Use Policy or include equivalent terms. If you change the default link to add your own terms for using the service you provide, your new terms must include a link to the default terms so end users are aware of the Mattermost Acceptable Use Policy for Mattermost software. - This setting is applicable to self-hosted deployments only and doesn't change the Terms of Use link in the About Mattermost window.

This field sets the URL for the Privacy Policy of a self-hosted site. A link to the policy appears at the bottom of the sign-up and login pages. If this field is empty, the link does not appear.

String input. Default is https://about.mattermost.com/default-privacy-policy/.

  • System Config path: Site Configuration > Customization
  • config.json setting: SupportSettings > PrivacyPolicyLink
  • Environment variable: MM_SUPPORTSETTINGS_PRIVACYPOLICYLINK

- This setting is applicable to self-hosted deployments only and doesn't change the Privacy Policy link in the About Mattermost window.

This field sets the URL for a page containing general information about a self-hosted site. A link to the About page appears at the bottom of the sign-up and login pages. If this field is empty the link does not appear.

String input. Default is https://about.mattermost.com/default-about/.

  • System Config path: Site Configuration > Customization
  • config.json setting: SupportSettings > AboutLink
  • Environment variable: MM_SUPPORTSETTINGS_ABOUTLINK

This setting is applicable to self-hosted deployments only.

When the Forgot Password link is enabled on the Mattermost login page, users are taken to a custom URL to recover or change their password.

Leave this field blank to use Mattermost's Password Reset workflow.

  • System Config path: Site Configuration > Forgot password custom link
  • config.json setting: SupportSettings > ForgetPasswordLink
  • Environment variable: MM_SUPPORTSETTINGS_FORGETPASSWORDLINK

This configuration setting applies to all Mattermost clients, including web, desktop app, and mobile app. You can control whether the Forgot Password link is visible or hidden in clients by going to Authentication > Password > Enable Forgot Password Link. See the configuration documentation for details.

Report a Problem

With self-hosted deployments, you can specify how the Report a Problem option behaves in the Mattermost app via the Help menu:

  • Default: Customers with a Mattermost license can open a support case by email with the Mattermost support team. Unlicensed Mattermost deployments are directed to the troubleshooting forums.
  • Email address: Enables you to enter an email address that users will be prompted to send a message to when they choose Report a Problem in Mattermost.
  • Custom link: Enables you to enter a URL that users will be directed to when they choose Report a Problem in Mattermost.
  • Hide link: Removes the Report a Problem option from Mattermost.

This field sets the URL for the Report a Problem link in the channel header Help menu. If this field is empty the link does not appear.

String input. Default is https://mattermost.com/pl/report-a-bug.

  • System Config path: Site Configuration > Customization
  • config.json setting: SupportSettings > ReportAProblemLink
  • Environment variable: MM_SUPPORTSETTINGS_REPORTAPROBLEMLINK

This setting is applicable to self-hosted deployments only.

Report a Problem email address

This field sets the email address for the Report a Problem link in the channel header Help menu.

String input. Cannot be left blank.

  • System Config path: Site Configuration > Customization
  • config.json setting: SupportSettings > ReportAProblemMail
  • Environment variable: MM_SUPPORTSETTINGS_REPORTAPROBLEMMAIL

This setting is applicable to self-hosted deployments only.

Allow mobile app log downloads

Enable users to download mobile app logs for troubleshooting. When the Report a Problem link is shown, mobile logs can be downloaded as part of the reporting flow.

  • true (Default): Users can download mobile app logs.
  • false Users can't download mobile app logs.
  • System Config path: Site Configuration > Customization
  • config.json setting: SupportSettings > AllowDownloadLogs
  • Environment variable: MM_SUPPORTSETTINGS_ALLOWDOWNLOADLOGS

This setting is applicable to self-hosted deployments only.

This field sets the URL for the Download Apps link in the Product menu. If this field is empty, the link does not appear.

If you have an Enterprise App Store, set the link to the appropriate download page for your Mattermost apps.

String input. Default is https://mattermost.com/pl/download-apps.

  • System Config path: Site Configuration > Customization
  • config.json setting: NativeAppSettings > AppDownloadLink
  • Environment variable: MM_NATIVEAPPSETTINGS_APPDOWNLOADLINK

This setting is applicable to self-hosted deployments only.

This field sets the URL to download the Mattermost Android app. Users who access the Mattermost site on a mobile browser will be prompted to download the app through this link. If this field is empty, the prompt does not appear.

If you have an Enterprise App Store, link to your Android app.

String input. Default is https://mattermost.com/pl/android-app/.

  • System Config path: Site Configuration > Customization
  • config.json setting: NativeAppSettings > AndroidAppDownloadLink
  • Environment variable: MM_NATIVEAPPSETTINGS_ANDROIDAPPDOWNLOADLINK

This setting is applicable to self-hosted deployments only.

This field sets the URL to download the Mattermost iOS app. Users who access the site on a mobile browser will be prompted to download the app through this link. If this field is empty, the prompt does not appear.

If you use an Enterprise App Store, link to your iOS app.

String input. Default is https://mattermost.com/pl/ios-app/.

  • System Config path: Site Configuration > Customization
  • config.json setting: NativeAppSettings > IosAppDownloadLink
  • Environment variable: MM_NATIVEAPPSETTINGS_IOSAPPDOWNLOADLINK

This setting is applicable to self-hosted deployments only.

Enable tutorial

  • true: (Default) Users are prompted with a tutorial when they open Mattermost for the first time after account creation.
  • false: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for the first time after account creation.
  • System Config path: Site Configuration > Customization
  • config.json setting: ServiceSettings > EnableTutorial > true
  • Environment variable: MM_SERVICESETTINGS_ENABLETUTORIAL

Enable onboarding

  • true: (Default) New users are shown key tasks to complete as part of initial onboarding.
  • false: User onboarding tasks are disabled.
  • System Config path: Site Configuration > Customization
  • config.json setting: ServiceSettings > EnableOnboardingFlow > true
  • Environment variable: MM_SERVICESETTINGS_ENABLEONBOARDINGFLOW

Enable desktop app landing page

  • true: (Default) Prompts users to use the desktop app.
  • false: Doesn't prompt users to use the desktop app.
  • System Config path: Site Configuration > Customization
  • config.json setting: ServiceSettings > EnableDesktopLandingPage > true
  • Environment variable: MM_SERVICESETTINGS_ENABLEDESKTOPLANDINGPAGE

Minimum desktop app version

Specify the minimum version of the Mattermost Desktop App required to connect to this server | - System Config path: Site Configuration > Customization | (e.g., 5.10.0). Users connecting with a Desktop App version below this minimum are shown | - config.json setting: ServiceSettings > MinimumDesktopAppVersion | an update required screen and cannot use the application until they update. | - Environment variable: MM_SERVICESETTINGS_MINIMUMDESKTOPAPPVERSION | | | The update screen includes a download link configured via the | | Mattermost apps download page link setting. | | | Must be a valid semantic version (e.g., 5.0.0). Leave blank to allow all Desktop App | | versions to connect. | | | | String input. Default is empty (no minimum enforced). | |

App custom URL schemes

This setting isn't available in the System Console and can only be set in config.json.

Define valid custom URL schemes for redirect links provided by custom-built mobile Mattermost apps. This ensures users are redirected to the custom-built mobile app and not Mattermost's mobile client.

When configured, after OAuth or SAML user authentication is complete, custom URL schemes sent by mobile clients are validated to ensure they don't include default schemes such as http or https. Mobile users are then redirected back to the mobile app using the custom scheme URL provided by the mobile client. We recommend that you update your mobile client values as well with valid custom URL schemes.

This feature's config.json setting is "NativeAppSettings.AppCustomURLSchemes" with an array of strings as input separated by spaces.

For example:

  • MM_NativeAppSettings_AppCustomURLSchemes = mmauth:// mmauthbeta://
  • Via mmctl: mmctl config set NativeAppSettings.AppCustomURLSchemes "mmauth://" "mmauthbeta://"

Mobile external browser

From Mattermost v10.2 and Mobile v2.2.1, this setting configures the mobile app to use an external mobile browser to perform SSO authentication.

  • true: The mobile app uses the default internal mobile browser to perform SSO authentication.
  • false: (Default) The mobile app uses an external mobile browser to perform SSO authentication.
  • System Config path: N/A
  • config.json setting: NativeAppSettings.MobileExternalBrowser
  • Environment variable: MM_NATIVEAPPSETTINGS_MOBILEEXTERNALBROWSER

  • This setting is applicable to self-hosted deployments only.
  • We recommend enabling this configuration setting when there are issues with the mobile app SSO redirect flow.


Localization

Access the following configuration settings in the System Console by going to Site Configuration > Localization. Changes to configuration settings in this section require a server restart before taking effect.

Default server language

The default language for system messages and logs.

Options: "bg", "cs", "da", "de", "en", "en-AU", "es", "fa", "fi", "fr", "hr", "hu", "it", "ja", "ko", "lt", "nb-NO", "nl", "pl", "pt", "pt-BR", "ro", "ru", "sv", "tr", "uk", "vi", "zh-CN", and "zh-TW".

Default is "en".

  • System Config path: Site Configuration > Localization
  • config.json setting: LocalizationSettings > DefaultServerLocale
  • Environment variable: MM_LOCALIZATIONSETTINGS_DEFAULTSERVERLOCALE

Changing this configuration setting changes the default server language for users who haven't set a language preference via Settings. Mattermost applies the user's language preference when specified.

Default client language

The default language for new users and pages where the user isn't logged in.

Options: "bg", "cs", "da", "de", "en", "en-AU", "es", "fa", "fi", "fr", "hr", "hu", "it", "ja", "ko", "lt", "nb-NO", "nl", "pl", "pt", "pt-BR", "ro", "ru", "sv", "tr", "uk", "vi", "zh-CN", and "zh-TW".

Default is "en".

  • System Config path: Site Configuration > Localization
  • config.json setting: LocalizationSettings > DefaultClientLocale
  • Environment variable: MM_LOCALIZATIONSETTINGS_DEFAULTCLIENTLOCALE

Changing this configuration setting changes the default client language for users who haven't set a language preference via Settings. Mattermost applies the user's language preference when specified.

Available languages

Sets the list of languages users see under Settings > Display > Language. If this field is left blank, users see all supported languages. Newly supported languages are added automatically. If this field is not blank, it must contain the Default client language, in addition to any other languages. For example, to limit the language choices to US English and Español (es), the string would be "en,es".

Options: "bg", "cs", "da", "de", "en", "en-AU", "es", "fa", "fi", "fr", "hr", "hu", "it", "ja", "ko", "lt", "nb-NO", "nl", "pl", "pt", "pt-BR", "ro", "ru", "sv", "tr", "uk", "vi", "zh-CN", and "zh-TW".

Default is "en".

  • System Config path: Site Configuration > Localization
  • config.json setting: LocalizationSettings > AvailableLocales
  • Environment variable: MM_LOCALIZATIONSETTINGS_AVAILABLELOCALES

Auto-translation

Access the following configuration settings in the System Console by going to Site Configuration > Localization. These settings configure automatic translation of channel messages. See the Auto-translation setup guide for deployment details.

Enable auto-translation

Enable or disable automatic translation of channel messages.

  • true: Autotranslation is available and can be enabled per channel.
  • false: (Default) Autotranslation is disabled.
  • System Config path: Site Configuration > Localization
  • config.json setting: AutoTranslationSettings > Enable > false
  • Environment variable: MM_AUTOTRANSLATIONSETTINGS_ENABLE

Translation provider

The translation provider to use for autotranslation.

  • libretranslate: Use a self-hosted LibreTranslate server for translations.
  • agents: Use the Mattermost Agents plugin with an LLM backend for translations.

Default is "" (no provider selected).

  • System Config path: Site Configuration > Localization
  • config.json setting: AutoTranslationSettings > Provider
  • Environment variable: MM_AUTOTRANSLATIONSETTINGS_PROVIDER

LibreTranslate URL

The URL of the LibreTranslate server used for translations. The Mattermost server must be able to reach this URL.

String value.

  • System Config path: Site Configuration > Localization
  • config.json setting: AutoTranslationSettings > LibreTranslate > URL
  • Environment variable: MM_AUTOTRANSLATIONSETTINGS_LIBRETRANSLATE_URL

LibreTranslate API key

The API key for authenticated access to the LibreTranslate server. Leave blank if the LibreTranslate server doesn't require authentication.

String value.

  • System Config path: Site Configuration > Localization
  • config.json setting: AutoTranslationSettings > LibreTranslate > APIKey
  • Environment variable: MM_AUTOTRANSLATIONSETTINGS_LIBRETRANSLATE_APIKEY

Agents LLM service ID

The service ID of the LLM configured in the Mattermost Agents plugin to use for translations. Configure LLM services in the Agents plugin settings.

String value.

  • System Config path: Site Configuration > Localization
  • config.json setting: AutoTranslationSettings > Agents > LLMServiceID
  • Environment variable: MM_AUTOTRANSLATIONSETTINGS_AGENTS_LLMSERVICEID

Languages allowed

The languages that all messages in autotranslation-enabled channels are translated into. Every message is translated into each language in this list, regardless of who is in the channel. Specify languages as an array of language codes.

Default is ["en"].

  • System Config path: Site Configuration > Localization
  • config.json setting: AutoTranslationSettings > TargetLanguages
  • Environment variable: MM_AUTOTRANSLATIONSETTINGS_TARGETLANGUAGES

Translation timeout

The maximum time in milliseconds to wait for a translation to complete. If a translation exceeds this timeout, it is skipped.

Numerical value. Default is 5000 (5 seconds).

  • System Config path: Site Configuration > Localization
  • config.json setting: AutoTranslationSettings > TimeoutMs > 5000
  • Environment variable: MM_AUTOTRANSLATIONSETTINGS_TIMEOUTMS

Restrict autotranslation in direct and group messages

Restrict autotranslation from being enabled in direct and group messages.

  • true: Autotranslation can't be enabled in direct or group messages.
  • false: (Default) Autotranslation can be enabled in direct and group messages.
  • System Config path: Site Configuration > Localization
  • config.json setting: AutoTranslationSettings > RestrictDMAndGM > false
  • Environment variable: MM_AUTOTRANSLATIONSETTINGS_RESTRICTDMANDGM

Translation workers

The number of concurrent translation workers per node. Higher values increase translation throughput but use more resources. This setting is not available in the System Console and can only be set via mmctl, config.json, or environment variable.

Numerical value. Default is 6.

  • config.json setting: AutoTranslationSettings > Workers > 6
  • Environment variable: MM_AUTOTRANSLATIONSETTINGS_WORKERS

Users and teams

Access the following configuration settings in the System Console by going to Site Configuration > Users and Teams.

Max users per team

The Max users per team is the maximum total number of users per team, | - System Config path: Site Configuration > Users and Teams | including activated and deactivated users. | - config.json setting: TeamSettings > MaxUsersPerTeam > 50 | | - Environment variable: MM_TEAMSETTINGS_MAXUSERSPERTEAM | In Mattermost, a team of people should be a small organization with a | | specific goal. In the physical world, a team could sit around a single | | table. The default maximum (50) should be enough for most teams, but | | with appropriate hardware, this limit can be increased to | | thousands of users. | | | | Channels | are another way of organizing communications within teams on various topics. | | | | Numerical input. Default is 50 self-hosted deployments, and 10000 | | for Cloud deployments. | |

Max channels per team

The maximum number of channels per team, including both active and archived channels.

Numerical input. Default is 2000 for self-hosted deployments, and 10000 for Cloud deployments.

  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > MaxChannelsPerTeam > 2000
  • Environment variable: MM_TEAMSETTINGS_MAXCHANNELSPERTEAM

Enable join/leave messages by default

Specify the default configuration of system messages displayed when users join or leave channels.

  • true: (Default) Join/Leave messages are displayed.
  • false: Join/Leave messages are hidden.

Users can override this default by going to Settings > Advanced > Enable Join/Leave Messages.

From Mattermost v12.0, channel members with permission to manage channel settings can also hide join/leave messages in a specific channel for all channel members, regardless of this setting or users' own preferences.

  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > EnableJoinLeaveMessageByDefault > true
  • Environment variable: MM_TEAMSETTINGS_ENABLEJOINLEAVEMESSAGEBYDEFAULT

Enable users to open direct message channels with

This setting determines whether a user can open a direct message channel with anyone on the Mattermost server or only to members of the same team. This setting only affects the options presented in the user interface. It does not affect permissions on the backend server.

  • Any user on the Mattermost server: (Default) Users can send a direct message to any user through the Direct Messages > More menu. config.json setting: "any"
  • Any member of the team: The Direct Messages > More menu only allows direct messages to users on the same team. Pressing Ctrl K on Windows or Linux, or ⌘ K on Mac, only lists other users on the team currently being viewed. A user who is a member of multiple teams can only send direct messages to the team that is being viewed. However, the user can receive messages from other teams, regardless of the team currently being viewed. config.json setting: "team"
  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > RestrictDirectMessage
  • Environment variable: MM_TEAMSETTINGS_RESTRICTDIRECTMESSAGE

Teammate name display

This setting determines how names appear in posts and under the Direct Messages list. Users can change this setting in their interface under Settings > Display > Teammate Name Display, unless this setting is locked by a system admin via the Lock teammate name display for all users configuration setting.

  • Show username: (Default for self-hosted deployments) Displays usernames. config.json option: "username".
  • Show nickname if one exists...: Displays the user's nickname. If the user doesn't have a nickname, their full name is displayed. If the user doesn't have a full name, their username is displayed. config.json option: "nickname_full_name".
  • Show first and last name: (Default for Cloud deployments) Displays user's full name. If the user doesn't have a full name, their username is displayed. Recommended when using SAML or LDAP if first name and last name attributes are configured. config.json option: "full_name".
  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > TeammateNameDisplay > username
  • Environment variable: MM_TEAMSETTINGS_TEAMMATENAMEDISPLAY

Lock teammate name display for all users

This setting controls whether users can change settings under Settings > Display > Teammate Name Display.

  • true: Users cannot change the Teammate Name Display.
  • false: (Default) Users can change the Teammate Name Display setting.
  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > LockTeammateNameDisplay > false
  • Environment variable: MM_TEAMSETTINGS_LOCKTEAMMATENAMEDISPLAY

Lock profile fields for email users

This setting controls whether users who sign in with email and password can change their own profile fields under Settings > Profile. System admins are always exempt and can edit any user's profile through the System Console or the API. Users authenticating through an external provider (AD/LDAP, SAML, or OAuth) aren't affected; their fields remain governed by the provider's attribute settings.

  • Don't lock profile fields: (Default) Users can change all of their profile fields. config.json option: "none".
  • Lock name and username: Users cannot change their first name, last name, or username. config.json option: "name_and_username".
  • Lock entire profile: Additionally locks the nickname, position, and profile picture. Email stays editable because it's the sign-in credential, protected by password re-entry and verification. config.json option: "all".

Empty first and last names can be filled in once by the user, so people who join through a team invite link or open server signup aren't left without a name. Once set, the name is locked.

When this setting is enabled, anyone with the Invite Users permission can pre-set the first name, last name, and username for each email invitation they send. The invited person sees the pre-set username on the account creation page and cannot change it. We recommend restricting the Invite Users permission through advanced permissions to people trusted to enter this information correctly.

For a display name convention of "First Last" across the workspace, combine this setting with Teammate Name Display set to Show first and last name and Lock Teammate Name Display set to true.

  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > LockProfileFieldsForEmailUsers > none
  • Environment variable: MM_TEAMSETTINGS_LOCKPROFILEFIELDSFOREMAILUSERS

Show email address

  • true: (Default) All users can see the email addresses of every other user.
  • false: Hides email addresses in the client user interface, except from system admins and the System Roles with read/write access to Compliance, Billing, or User Management (users/teams/channels/groups etc).
  • System Config path: Site Configuration > Users and teams
  • config.json setting: PrivacySettings > ShowEmailAddress > true
  • Environment variable: MM_PRIVACYSETTINGS_SHOWEMAILADDRESS

Show full name

  • true: (Default) Full names are visible to all users in the client user interface.
  • false: Hides full names from all users, except system admins. Username is shown in place of the full name.
  • System Config path: Site Configuration > Users and Teams
  • config.json setting: PrivacySettings > ShowFullName > true
  • Environment variable: MM_PRIVACYSETTINGS_SHOWFULLNAME

Enable anonymous team and channel URLs

From Mattermost v11.6.0, when enabled, team and channel URLs are anonymized, meaning the URL no longer contains the team or channel name. This prevents team and channel names from being identified through web addresses.

When this setting is enabled, the team and channel creation workflows no longer include a step for users to define a URL; teams and channels are created with an automatically generated anonymous URL. This applies only to newly created teams and channels; existing teams and channels are not affected.

  • true: Team and channel URLs are anonymized.
  • false: Team and channel URLs include the team or channel name.
  • System Config path: Site Configuration > Users and Teams
  • config.json setting: PrivacySettings > UseAnonymousURLs
  • Environment variable: MM_PRIVACYSETTINGS_USEANONYMOUSURLS

Enable custom user statuses

  • true: (Default) Users can set status messages and emojis that are visible to all users.
  • false: Users cannot set custom statuses.
  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > EnableCustomUserStatuses > true
  • Environment variable: MM_TEAMSETTINGS_ENABLECUSTOMUSERSTATUSES

Enable last active time

  • true: (Default) Users can see when deactivated users were last active on a user's profile and in direct message channel headers.
  • false: Users can't see when deactivated users were last online.
  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > EnableLastActiveTime > true
  • Environment variable: MM_TEAMSETTINGS_ENABLELASTACTIVETIME

User status away timeout

The number of seconds of inactivity after which a user's status indicator changes to Away.

Numerical input in seconds. Default is 300 (5 minutes).

  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > UserStatusAwayTimeout > 300
  • Environment variable: MM_TEAMSETTINGS_USERSTATUSAWAYTIMEOUT

Enable custom user groups

  • true: (Default) Users with appropriate permissions can create custom user groups, and users can @mention custom user groups in Mattermost conversations.
  • false: Custom user groups cannot be created.
  • System Config path: Site Configuration > Users and Teams
  • config.json setting: ServiceSettings > EnableCustomGroups > true
  • Environment variable: MM_SERVICESETTINGS_ENABLECUSTOMGROUPS

User statistics update time

Set the server time for updating the user post statistics, including each user's total message count, and the timestamp of each user's most recently sent message.

Must be a 24-hour time stamp in the form HH:MM based on the local time of the server. Default is 00:00.

  • System Config path: Site Configuration > Users and Teams
  • config.json setting: ServiceSettings > RefreshPostStatsRunTime > 00:00
  • Environment variable: MM_SERVICESETTINGS_REFRESHPOSTSTATSRUNTIME

Enable account deactivation

  • true: Users can deactivate their own account from Settings > Advanced > Deactivate Account. When a user deactivates their own account, they receive an email notification confirming the deactivation.
  • false: (Default) Users can't deactivate their own account.

Available only when authentication is set to use email and password. Not available when authentication uses SAML or AD/LDAP.

  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > EnableUserDeactivation > false
  • Environment variable: MM_TEAMSETTINGS_ENABLEUSERDEACTIVATION

Channel category sorting

From Mattermost v11.8, channel category sorting is enabled by default. When enabled, channel admins can choose a default sidebar category when creating or editing a channel. Channel admins can select an existing category, type a new category name, or clear the default category from channel settings. Members who join the channel see it under that category in their sidebar. When disabled, the default category selector is hidden.

  • true: (Default) When creating or editing supported channels, channel admins see a Default category (optional) field. They can select an existing category, enter a new category name, or clear the default category from channel settings. Members who join the channel see it under that category in their sidebar.
  • false: The default category selector is hidden when creating or editing channels.
  • System Config path: Site Configuration > Users and Teams
  • config.json setting: TeamSettings > EnableChannelCategorySorting > true
  • Environment variable: MM_TEAMSETTINGS_ENABLECHANNELCATEGORYSORTING

Notifications

Access the following configuration settings in the System Console by going to Site Configuration > Notifications.

Show @channel, @all, or @here confirmation dialog

  • true: (Default) Requires users to confirm when posting @channel, @all, @here, or group mentions in channels with more than 5 members.
  • false: No confirmation is required.
  • System Config path: Site Configuration > Notifications
  • config.json setting: TeamSettings > EnableConfirmNotificationsToChannel > true
  • Environment variable: MM_TEAMSETTINGS_ENABLECONFIRMNOTIFICATIONSTOCHANNEL

Enable email notifications

  • true: (Default) Enables automatic email notifications for posts.
  • false: Disables notifications. A developer may choose this option to speed development by skipping email setup (see also the Enable preview mode banner setting).
  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > SendEmailNotifications > ture
  • Environment variable: MM_EMAILSETTINGS_SENDEMAILNOTIFICATIONS

- Cloud admins can't modify this configuration setting. - If this setting is false, and the SMTP server is set up, account-related emails (such as authentication messages) will be sent regardless of this setting. - Email invitations and account deactivation emails aren't affected by this setting. - If you don't plan on configuring Mattermost for email, disabling this configuration setting in larger deployments may improve server performance in the following areas, particularly in high-traffic environments where performance is a key concern:

  • Reduced Server Load: Generating and sending emails requires processing power and resources. By disabling email notifications, you reduce the load on the server, which can be reallocated to other tasks.
  • Decreased I/O Operations: Sending emails involves input/output (I/O) operations, such as writing to logs and databases, and handling communication with the email server. Reducing these I/O operations can improve overall system efficiency.
  • Lowered Network Traffic: Each email sent contributes to network traffic. Disabling email notifications decreases the amount of data being transmitted, which can lead to better performance, especially in environments with limited bandwidth.
  • Faster Response Times: With fewer background tasks (like sending emails) to handle, the application can potentially respond to user requests more quickly, improving perceived performance.
  • Resource Allocation: Resources like CPU cycles, memory, and network bandwidth that would have been used for sending emails can be used elsewhere, possibly improving the performance of other critical components of the system.
  • However, disabling email notifications can negatively impact user experience, communication efficiency, and overall productivity. It's important to balance performance improvements with the needs of your organization and users.

Enable preview mode banner

  • true: (Default) When Send email notifications is false, users see the Preview Mode banner. This banner alerts users that email notifications are disabled.
  • false: Preview Mode banner does not appear.
  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > EnablePreviewModeBanner > true
  • Environment variable: MM_EMAILSETTINGS_ENABLEPREVIEWMODEBANNER

Cloud admins can't modify this configuration setting.

Enable email batching

  • true: Multiple email notifications for mentions and direct messages over a given time period are batched into a single email.
  • false: (Default) Email notifications are sent for each mention or direct message.
  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > EnableEmailBatching > false
  • Environment variable: MM_EMAILSETTINGS_ENABLEEMAILBATCHING

Email batching buffer size

Specify the maximum number of notifications batched into a single email.

Numerical input. Default is 256.

  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > EmailBatchingBufferSize > 256
  • Environment variable: MM_EMAILSETTINGS_EMAILBATCHINGBUFFERSIZE

  • Cloud admins can't modify this configuration setting.
  • This setting only applies when email batching is enabled.
  • We recommend increasing the buffer size from the default value if you see the following error in the Mattermost logs: Email batching job's receiving buffer was full. Please increase the EmailBatchingBufferSize. Falling back to sending immediate mail. Increasing this value will ensure emails are queued up, without impacting server performance.
  • Notifications are sent immediately when the receiving buffer is full.

Email batching interval

Specify the maximum frequency, in seconds, which the batching job checks for new notifications.

Numerical input in seconds. Default is 30.

  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > EmailBatchingInterval > 30
  • Environment variable: MM_EMAILSETTINGS_EMAILBATCHINGINTERVAL

  • Cloud admins can't modify this configuration setting.
  • This setting only applies when email batching is enabled.
  • Longer batching intervals may increase performance.
  • Notifications are sent immediately when the receiving buffer is full. If that occurs, increase Email batching buffer size.

Email notification contents

  • Send full message contents: (Default) Email notifications include the full message contents, along with the name of the sender and the channel. config.json setting: "full"
  • Send generic description with only sender name: Only the name of the sender and team name are included in email notifications. Use this option if Mattermost contains confidential information and policy dictates it cannot be stored in email. config.json setting: "generic"
  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > EmailNotificationContentsType
  • Environment variable: MM_EMAILSETTINGS_EMAILNOTIFICATIONCONTENTSTYPE

Use channel name in email notifications

  • true: Channel and team name appears in email notification subject lines. Useful for servers using only one team.
  • false: (Default) Only team name appears in email notification subject line.
  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > UseChannelInEmailNotifications > false
  • Environment variable: MM_EMAILSETTINGS_USECHANNELINEMAILNOTIFICATIONS

Notification display name

Display name for email notifications sent from the Mattermost system.

String input. No default setting. This field is required when changing settings in the System Console.

  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > FeedbackName
  • Environment variable: MM_EMAILSETTINGS_FEEDBACKNAME

Notification from address

Email address for notification emails from the Mattermost system. This address should be monitored by a system admin.

String input. Must be a valid email address if set. Default is test@example.com. This field is required when changing settings in the System Console.

  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > FeedbackEmail
  • Environment variable: MM_EMAILSETTINGS_FEEDBACKEMAIL

Cloud admins can't modify this configuration setting.

Support email address

Sets a user support (or feedback) email address that is displayed on email notifications and during the Getting Started tutorial. This address should be monitored by a system admin. If no value is set, email notifications will not contain a way for users to request assistance.

String input. Must be a valid email address if set. Default is feedback@mattermost.com. This field is required when changing settings in the System Console.

  • System Config path: Site Configuration > Notifications
  • config.json setting: SupportSettings > SupportEmail
  • Environment variable: MM_SUPPORTSETTINGS_SUPPORTEMAIL

Notification reply-to address

Email address used in the reply-to header when sending notification emails from the Mattermost system. This address should be monitored by a system admin.

String input. Must be a valid email address if set. Default is test@example.com.

  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > ReplyToAddress
  • Environment variable: MM_EMAILSETTINGS_REPLYTOADDRESS

Optional setting to include the organization's name and mailing address in the footer of email notifications. If not set, nothing will appear.

String input.

  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > FeedbackOrganization
  • Environment variable: MM_EMAILSETTINGS_FEEDBACKORGANIZATION

Push notification contents

  • Generic description with only sender name: Push notifications include the sender's name, but not the channel name or message contents. config.json setting: "generic_no_channel"

  • Generic description with sender and channel names: (Default) Push notifications include the name of the sender and channel, but not the message contents. config.json setting: "generic"

  • Full message content sent in the notification payload: Includes the message contents in the push notification payload, which may be sent through Apple's Push Notification service or Google's Firebase Cloud Messaging . We highly recommended this option only be used with an https protocol to encrypt the connection and protect confidential information. config.json setting: "full"

  • Full message content fetched from the server on receipt (Available in Mattermost Enterprise): The notification payload contains no message content. Instead it contains a unique message ID used to fetch message content from the Mattermost server when a push notification is received via a notification service app extension on iOS or an expandable notification pattern on Android.

    If the server cannot be reached, a generic push notification is displayed without message content or sender name. For customers who wrap the Mattermost mobile application in a secure container, the container must fetch the message contents using the unique message ID when push notifications are received.

    If the container is unable to execute the fetch, the push notification contents cannot be received by the customer's mobile application without passing the message contents through Apple's or Google's notification service. config.json setting: "id_loaded"

  • System Config path: Site Configuration > Notifications
  • config.json setting: EmailSettings > PushNotificationContents
  • Environment variable: MM_EMAILSETTINGS_PUSHNOTIFICATIONCONTENTS

Enable notification monitoring

Enable or disable notification metrics data collection.

  • true: (Default) Mattermost notification data collection is enabled for client-side web and desktop app users.
  • false: Mattermost notification data collection is disabled.
  • System Config path: Environment > Performance Monitoring
  • config.json setting: MetricsSettings > EnableNotificationMetrics > true
  • Environment variable: MM_METRICSSETTINGS_ENABLENOTIFICATIONMETRICS

See the performance monitoring documentation to learn more about Mattermost Notification Health metrics.


System-wide notifications

Access the following configuration settings in the System Console by going to Site Configuration > System-wide notifications.

Enable system-wide notifications

  • true: Enable system-wide notifications to display at the top of the Mattermost interface for all users across all teams.
  • false: (Default) Disable system-wide notifications.
  • System Config path: Site Configuration > System-wide notifications
  • config.json setting: AnnouncementSettings > SystemWideNotifications > false
  • Environment variable: MM_ANNOUNCEMENTSETTINGS_SYSTEMWIDENOTIFICATIONS

The text of the system-wide notification, when enabled.

String input.

  • System Config path: Site Configuration > System-wide notifications
  • config.json setting: AnnouncementSettings > BannerText
  • Environment variable: MM_ANNOUNCEMENTSETTINGS_BANNERTEXT

The background color of system-wide notifications.

String input of a CSS color value.

  • System Config path: Site Configuration > System-wide notifications
  • config.json setting: AnnouncementSettings > BannerColor > "#f2a93b"
  • Environment variable: MM_ANNOUNCEMENTSETTINGS_BANNERCOLOR

The color of the text in system-wide notifications.

String input of a CSS color value.

  • System Config path: Site Configuration > System-wide notifications
  • config.json setting: AnnouncementSettings > BannerTextColor > "#333333"
  • Environment variable: MM_ANNOUNCEMENTSETTINGS_BANNERTEXTCOLOR

Allow banner dismissal

  • true: (Default) Users can dismiss the system-wide notification. It will re-appear the next time the user logs in, and when the text is updated by an admin, or when an admin disables system-wide notifications and reenables them.
  • false: Users cannot dismiss the banner.
  • System Config path: Site Configuration > System-wide notifications
  • config.json setting: AnnouncementSettings > AllowBannerDismissal > true
  • Environment variable: MM_ANNOUNCEMENTSETTINGS_ALLOWBANNERDISMISSAL

Emoji

Access the following configuration settings in the System Console by going to Site Configuration > Emoji.

Enable emoji picker

  • true: (Default) Enables an emoji picker when composing messages and for message reactions.
  • false: Disables the emoji picker in message composition and reactions.
  • System Config path: Site Configuration > Emoji
  • config.json setting: ServiceSettings > EnableEmojiPicker > true
  • Environment variable: MM_SERVICESETTINGS_ENABLEEMOJIPICKER

Enable custom emoji

  • true: (Default) Allows users to add up to 6000 emojis through a Custom Emoji option in the emoji picker. Emojis can be GIF, PNG, or JPG files up to 512 KB in size.
  • false: Disables custom emojis.
  • System Config path: Site Configuration > Emoji
  • config.json setting: ServiceSettings > EnableCustomEmoji > true
  • Environment variable: MM_SERVICESETTINGS_ENABLECUSTOMEMOJI

While Mattermost supports up to 6000 custom emojis, an increase in custom emojis can slow your server's performance.


Posts

Access the following configuration settings in the System Console by going to Site Configuration > Posts.

Automatically follow threads

  • true: (Default) Enables automatic following for all threads that a user starts, or in which the user participates or is mentioned. A Threads table in the database tracks threads and thread participants. A ThreadMembership table tracks followed threads for each user and whether the thread is read or unread.
  • false: Disables automatic following of threads.
  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > ThreadAutoFollow > true
  • Environment variable: MM_SERVICESETTINGS_THREADAUTOFOLLOW

- This setting is applicable to self-hosted deployments only. - This setting must be enabled for threaded discussions to function. - Enabling this setting does not automatically follow threads based on previous user actions. For example, threads a user participated in prior to enabling this setting won't be automatically followed, unless the user adds a new comment or is mentioned in the thread.

Threaded discussions

Customers upgrading from a legacy Mattermost release prior to v7.0 must review the administrator's guide to enabling threaded discussions (formerly known as Collapsed Reply Threads) prior to enabling this functionality.

- Always On: (Default) Enables threaded discussions | - System Config path: **Site Configuration > Posts** | | - config.json setting: ServiceSettings > CollapsedThreads

on the server and for all users. This is the recommended configuration for optimal user experience | - Environment variable: MM_SERVICESETTINGS_COLLAPSEDTHREADS | and to ensure consistency in how users read and respond to threaded conversations. | | config.json setting: "always_on" | |

  • Default On: Enables threaded discussions on the server and for all users. | |
  • Default Off: Enables threaded discussions on the server but not for users. | |
  • Disabled: Users cannot enable threaded discussions. config.json setting: "disabled" | |

Message priority

Mattermost Enterprise or Professional customers can additionally request message acknowledgements to track that specific, time-sensitive messages have been seen and actioned. See the message priority documentation to learn more.

  • true: (Default) Enables message priority for all users which enables them to set a visual indiciator for important or urgent root messages.
  • false: Disables the ability to set message priority and request acknowledgements.
  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > PostPriority > true
  • Environment variable: MM_SERVICESETTINGS_POSTPRIORITY

Disabling this configuration setting in larger deployments may improve server performance in the following areas, particularly in environments where performance and responsiveness are critical:

  • Simplified Processing: When post priority is enabled, the system has to manage and prioritize posts based on their designated priority levels. This adds additional processing overhead as the system must evaluate and sort posts accordingly. By disabling this feature, all posts are treated equally, which simplifies the processing logic and reduces the computational load.
  • Reduced Latency: With post priority enabled, there might be delays introduced while the system determines the priority of each post and processes them in the correct order. Disabling post priority can lead to more consistent and potentially quicker handling of posts because the system processes them on a first-come, first-served basis.
  • Lower Resource Utilization: Managing post priorities can consume additional system resources such as CPU and memory. Disabling this feature can free up these resources, allowing the system to allocate them to other tasks, thereby improving overall performance.
  • Improved Scalability: In a high-traffic environment, the complexity of managing post priorities can become more pronounced. Disabling this feature simplifies the system's operations, making it easier to scale as the number of users and posts increases.

Persistent notifications

  • true: (Default) Users can trigger repeating notifications to mentioned recipients of urgent messages.
  • false: Disables the ability to send repeating notifications.
  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > AllowPersistentNotifications > true
  • Environment variable: MM_SERVICESETTINGS_ALLOWPERSISTENTNOTIFICATIONS

Maximum number of recipients for persistent notifications

The maximum number of recipients users may send persistent notifications to.

Numerical input. Default is 5.

  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > PersistentNotificationMaxRecipients > 5
  • Environment variable: MM_SERVICESETTINGS_PERSISTENTNOTIFICATIONMAXRECIPIENTS

Frequency of persistent notifications

The number of minutes between repeated notifications for urgent messages sent with persistent notifications.

Numerical input. Default is 5. Minimum is 2.

  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > PersistentNotificationIntervalMinutes > 5
  • Environment variable: MM_SERVICESETTINGS_PERSISTENTNOTIFICATIONINTERVALMINUTES

Total number of persistent notifications per post

The maximum number of times users may receive persistent notifications.

Numerical input. Default is 6.

  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > PersistentNotificationMaxCount > 6
  • Environment variable: MM_SERVICESETTINGS_PERSISTENTNOTIFICATIONMAXCOUNT

Enable burn-on-read messages

Burn-on-read messages have irreversible behavior:

  • Once a recipient reveals a burn-on-read message, it can't be hidden again.
  • Once a burn-on-read message expires or is burned, it is permanently deleted and can't be recovered.
  • Recipients can't reply to, edit, or thread burn-on-read messages.

Enable or disable burn-on-read messages.

  • false: (Default) The option to send a burn-on-read message isn't available.
  • true: Users can send burn-on-read messages in channels, direct messages, and group messages.
  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > EnableBurnOnRead > false
  • Environment variable: MM_SERVICESETTINGS_ENABLEBURNONREAD

Disabling this feature prevents users from sending new burn-on-read messages. Once disabled, users can interact with existing burn-on-read messages.

Burn-on-read duration

Sets the countdown duration for burn-on-read messages once they are revealed. After a recipient reveals a burn-on-read message, the message is deleted for that user after the specified duration. This setting applies to all burn-on-read messages.

Numerical input in seconds. Must be greater than 0. Default is 600 seconds (10 minutes).

  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > BurnOnReadDurationSeconds > 600
  • Environment variable: MM_SERVICESETTINGS_BURNONREADDURATIONSECONDS

Maximum time to live for burn-on-read messages

Sets the maximum duration that burn-on-read messages can exist after they are sent. The message is deleted after the specified duration, even if it hasn't been revealed by all recipients.

Numerical input in seconds. Must be greater than 0. Default is 604800 seconds (7 days).

  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > BurnOnReadMaximumTimeToLiveSeconds > 604800
  • Environment variable: MM_SERVICESETTINGS_BURNONREADMAXIMUMTIMETOLIVESECONDS

The server must be connected to the internet to generate previews. This connection can be established through a firewall or outbound proxy if necessary.

  • true: The server generates a preview of the first website, image, or YouTube video linked in a message. Users can disable website previews, but not image or YouTube previews, under Settings > Display > Website Link Previews.
  • false: (Default) All previews are disabled and the server does not request metadata for any links contained in messages.
  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > EnableLinkPreviews > true
  • Environment variable: MM_SERVICESETTINGS_ENABLELINKPREVIEWS

Disabling this configuration setting in larger deployments may improve server performance in the following areas:

  • Reduced Network Requests: When link previews are enabled, the system needs to fetch metadata (such as title, description, or image) from the linked webpage. This requires additional network requests, which can slow down the system.
  • Lower Server Load: Creating link previews involves parsing the content of the linked pages. If many users are sharing links, the server will have to perform numerous network requests and process a lot of additional data, increasing the load on the server.
  • Less Data Processing: Every link shared needs to be processed to extract the necessary preview information. This processing consumes CPU and memory resources, which can otherwise be reserved for other tasks.
  • Decreased Client-Side Rendering Time: On the client side, rendering link previews (adding text, images, and layouts) takes time and resources. Disabling link previews means that clients do not need to render these elements, leading to faster message display.
  • Saved Bandwidth: Link previews often include images and other data from the linked content. By disabling them, you save the bandwidth that would be used to download these additional resources.
  • However, disabling link previews can negatively impact user experience, communication efficiency, and overall productivity. It's important to balance performance improvements with the needs of your organization and users.

Use this setting to disable previews of links for specific domains.

String input of a comma-separated list of domains, for example: "mattermost.com, images.example.com"

  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > RestrictLinkPreviews
  • Environment variable: MM_SERVICESETTINGS_RESTRICTLINKPREVIEWS
  • true: (Default) Share links to Mattermost messages | - System Config path: Site Configuration > Posts will generate a preview for any users that have access to the original message. | - config.json setting: ServiceSettings > EnablePermalinkPreviews > true |
  • false: Share links do not generate a preview. | - Environment variable: MM_SERVICESETTINGS_ENABLEPERMALINKPREVIEWS |

Disabling this configuration setting in larger deployments may improve server performance in the following areas, particularly in environments with high message throughput or limited resources:

  • Reduced Server Load: When permalink previews are enabled, the server has to generate preview summaries for each shared link. This generates additional requests to fetch metadata and may involve parsing web pages, which increases the processing load on the server.
  • Less Data Transfer: Permalink previews include additional metadata such as images, titles, and descriptions. Disabling previews reduces the amount of data that needs to be transferred, which can decrease bandwidth usage and improve message load times, particularly for channels with a high volume of links.
  • Faster Message Rendering: On the client-side, rendering messages with multimedia previews takes more time compared to plain text messages. Disabling previews can reduce rendering complexity and improve client performance, especially on devices with limited resources.
  • Network Latency: Fetching metadata for link previews may introduce network latency, as the server must reach out to external resources. Disabling this can eliminate these delays, ensuring faster message processing and display.
  • Simplified Message Handling: In the absence of previews, messages are simpler and less resource-intensive to store, retrieve, and display. This can contribute to overall improved system responsiveness and efficiency.
  • However, disabling permalink previews can negatively impact user experience, communication efficiency, and overall productivity. It's important to balance performance improvements with the needs of your organization and users.

Enable SVGs

  • true: Enables previews of SVG files attached to messages.
  • false: (Default) Disables previews of SVG files.
  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > EnableSVGs > false
  • Environment variable: MM_SERVICESETTINGS_ENABLESVGS

Enabling SVGs is not recommended in environments where not all users are trusted.

Enable LaTeX code block rendering

  • true: Enables rendering of LaTeX in code blocks. | - System Config path: Site Configuration > Posts
  • false: (Default) Disables rendering in blocks. Instead, LaTeX code is highlighted. | - config.json setting: ServiceSettings > EnableLatex > false|
    - Environment variable: MM_SERVICESETTINGS_ENABLELATEX |

Enabling LaTeX rendering is not recommended in environments where not all users are trusted.

Enable inline LaTeX rendering

  • true: Enables rendering of | - System Config path: Site Configuration > Posts | LaTeX in message text. | - config.json setting: ServiceSettings > EnableInlineLatex > false
  • false: (Default) Disables inline rendering of LaTeX. Instead, LaTeX in message text is highlighted. | - Environment variable: MM_SERVICESETTINGS_ENABLEINLINELATEX | LaTeX can also be rendered in a code block, if that feature is enabled. See Enable LaTeX code block rendering. | |

Enabling LaTeX rendering isn't recommended in environments where not all users are trusted.

Custom URL schemes

A list of URL schemes that will automatically create a link in message text, for example: ["git", "smtp"]. These schemes always create links: http, https, ftp, tel, and mailto.

config.json setting: an array of strings

  • System Config path: Site Configuration > Posts
  • config.json setting: DisplaySettings > CustomURLSchemes > []
  • Environment variable: MM_DISPLAYSETTINGS_CUSTOMURLSCHEMES

Maximum Markdown nodes

The maximum number of Markdown elements (such as emojis, links, or table cells), that can be included in a single piece of text in a message.

Numerical input. Default is 0 which applies a Mattermost-specified limit.

  • System Config path: Site Configuration > Posts
  • config.json setting: DisplaySettings > MaxMarkdownNodes > 0
  • Environment variable: MM_DISPLAYSETTINGS_MAXMARKDOWNNODES

This limit applies to all Mattermost clients, including web, desktop app, and mobile app.

Google API key

If a key is provided in this setting, Mattermost displays titles of embedded YouTube videos and detects if a video is no longer available. Setting a key should also prevent Google from throttling access to embedded videos that receive a high number of views.

String input.

  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > GoogleDeveloperKey
  • Environment variable: MM_SERVICESETTINGS_GOOGLEDEVELOPERKEY

  • This setting is applicable to self-hosted deployments only.
  • This key is used in client-side Javascript, and must have the YouTube Data API added as a service.

Enable server syncing of message drafts

Enable or disable the ability to synchronize draft messages across all supported Mattermost clients.

  • true: (Default) Message drafts are saved on the server and may be accessed from different clients. Users may still disable server synchronization of draft messages by going to Settings > Advanced Settings.
  • false: Draft messages are stored locally on each device.
  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > AllowSyncedDrafts > true
  • Environment variable: MM_SERVICESETTINGS_ALLOWSYNCEDDRAFTS

While drafts can be very useful for maintaining work continuity, especially in collaborative environments, disabling draft synchronization across devices can lead to noticeable performance improvements by reducing the computational and data management overhead as follows:

  • Reduced Data Synchronization: When drafts are enabled and synchronized across devices, the system needs to handle those data synchronization operations which can consume significant bandwidth and computing resources. Disabling draft syncing reduces the load on servers and networks.
  • Lower Storage Usage: Storing drafts requires additional database operations and storage space. Each draft is an extra piece of data that needs to be saved, managed, and retrieved. Without drafts, the system has fewer records to keep, which can streamline database operations.
  • Decreased Client Processing: On the client side, draft management involves monitoring changes, saving drafts periodically, and handling conflict resolution if multiple drafts are edited from different devices. Disabling drafts reduces these client-side processes, thus freeing up memory and CPU resources.
  • Simplified Architecture: Maintaining synced drafts often requires complex backend logic to ensure consistency and avoid data conflicts. Simplifying this architecture by removing draft syncing can lead to more efficient and faster backend operations.
  • Improved User Experience: Users may experience faster load times and reduced latency without the overhead of draft syncing. This can be particularly noticeable in environments with limited or variable internet connectivity.
  • However, disabling draft synchronization can negatively impact user experience, communication efficiency, and overall productivity. It's important to balance performance improvements with the needs of your organization and users.

Unique emoji reaction limit

Limit the number of unique emoji reactions on each message. Increasing this limit can lead to poor client performance.

Numerical input. Default is 50. Maximum is 500.

  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > UniqueEmojiReactionLimitPerPost > 50
  • Environment variable: MM_SERVICESETTINGS_UNIQUEEMOJIREACTIONLIMITPERPOST

Enable user typing messages

This setting determines whether "user is typing..." messages are displayed below the message box.

  • true: (Default) "User is typing..." messages are displayed below the message box.
  • false: "User is typing..." messages are not displayed.
  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > EnableUserTypingMessages > true
  • Environment variable: MM_SERVICESETTINGS_ENABLEUSERTYPINGMESSAGES

Disabling this configuration setting in larger deployments may improve server performance in the following areas:

  • Reduced Server Load: Typing events generate additional websocket traffic. Disabling them can reduce the amount of data that needs to be handled by the server, improving the overall response time and decreasing server load.
  • Lower Network Traffic: When typing events are enabled, every keystroke generates a network event. This can lead to a significant amount of network traffic, particularly in busy channels. Disabling these events reduces the amount of information transmitted over the network.
  • Client Performance: On the client side, processing typing events requires resources. By not having to handle these events, the client can be more responsive and use less memory and CPU.

User typing timeout

The number of milliseconds to wait between emitting user typing websocket events, which determines how frequently "user is typing..." messages are updated.

Numerical input in milliseconds. Default is 5000. Minimum is 1000.

  • System Config path: Site Configuration > Posts
  • config.json setting: ServiceSettings > TimeBetweenUserTypingUpdatesMilliseconds > 5000
  • Environment variable: MM_SERVICESETTINGS_TIMEBETWEENUSERTYPINGUPDATESMILLISECONDS

This setting only applies when Enable user typing messages is set to true.


Content flagging

Access the following configuration settings in the System Console by going to Site Configuration > Content Flagging.

Enable content flagging

  • true: Enables the Content Flagging feature.
  • false: (Default) Disables the feature.
  • System Config path: Site Configuration > Content Flagging
  • config.json setting: ContentFlaggingSettings > EnableContentFlagging > false
  • Environment variable: MM_CONTENTFLAGGINGSETTINGS_ENABLECONTENTFLAGGING

Notification settings

Default notification recipients for each event:

  • Events: flagged, assigned, removed, dismissed
  • Recipients: reviewers, author, reporter

Default mappings include:

  • flagged = reviewers
  • assigned = reviewers
  • removed = reviewers, author, reporter
  • dismissed = reviewers, reporter
  • System Config path: Site Configuration > Content Flagging
  • config.json setting: ContentFlaggingSettings > NotificationSettings > EventTargetMapping
  • Environment variable: N/A

Additional settings

Specify the reasons for flagging.

Default reasons include:

  • Inappropriate content
  • Sensitive data
  • Security concern
  • Harassment or abuse
  • Spam or phishing
  • System Config path: Site Configuration > Content Flagging
  • config.json setting: ContentFlaggingSettings > AdditionalSettings > Reasons
  • Environment variable: N/A

Require reporters to add comment

  • true: (Default) Reporters must add a comment when flagging.
  • false: Reporters aren't required to add a comment.
  • System Config path: Site Configuration > Content Flagging
  • config.json setting: ContentFlaggingSettings > AdditionalSettings > ReporterCommentRequired > true
  • Environment variable: MM_CONTENTFLAGGINGSETTINGS_ADDITIONALSETTINGS_REPORTERCOMMENTREQUIRED

Require reviewers to add comment

  • true: (Default) Reviewers must add a comment when reviewing flagged content.
  • false: Reviewers aren't required to add a comment.
  • System Config path: Site Configuration > Content Flagging
  • config.json setting: ContentFlaggingSettings > AdditionalSettings > ReviewerCommentRequired > true
  • Environment variable: MM_CONTENTFLAGGINGSETTINGS_ADDITIONALSETTINGS_REVIEWERCOMMENTREQUIRED

Hide message from channel while it is being reviewed

  • true: (Default) Hide flagged content from the channel while under review.
  • false: Keep flagged content visible while under review.
  • System Config path: Site Configuration > Content Flagging
  • config.json setting: ContentFlaggingSettings > AdditionalSettings > HideFlaggedContent > true
  • Environment variable: MM_CONTENTFLAGGINGSETTINGS_ADDITIONALSETTINGS_HIDEFLAGGEDCONTENT

Same reviewers for all teams

  • true: (Default) Use the same set of reviewers across all teams.
  • false: Reviewers can be managed per team.
  • System Config path: Site Configuration > Content Flagging
  • config.json setting: ContentFlaggingSettings > ReviewerSettings > CommonReviewers > true
  • Environment variable: MM_CONTENTFLAGGINGSETTINGS_REVIEWERSETTINGS_COMMONREVIEWERS

System administrators as reviewers

  • true: Include system administrators as reviewers.
  • false: (Default) System administrators are not included by default.
  • System Config path: Site Configuration > Content Flagging
  • config.json setting: ContentFlaggingSettings > ReviewerSettings > SystemAdminsAsReviewers > false
  • Environment variable: MM_CONTENTFLAGGINGSETTINGS_REVIEWERSETTINGS_SYSTEMADMINSASREVIEWERS

Team administrators as reviewers

  • true: (Default) Include team administrators as reviewers for their respective teams.
  • false: Team administrators aren't included as reviewers.
  • System Config path: Site Configuration > Content Flagging
  • config.json setting: ContentFlaggingSettings > ReviewerSettings > TeamAdminsAsReviewers > true
  • Environment variable: MM_CONTENTFLAGGINGSETTINGS_REVIEWERSETTINGS_TEAMADMINSASREVIEWERS

From Mattermost v12.0, the following settings control post delivery audit logging, which records an audit log entry for each delivery of a message in an eligible channel. Delivery records require an audit log target that consumes the audit-delivery log level. See Post delivery audit logging for details.

Post delivery audit logging is currently in Beta. It requires the feature flag MM_FEATUREFLAGS_POSTDELIVERYTRACKING, which is disabled by default, and a server restart after you enable it. It also requires an audit log target that consumes the audit-delivery log level.

Enable post delivery audit logging

  • true: An audit log entry is recorded each time a message is delivered to a user.
  • false: (Default) Message deliveries aren't recorded.
  • System Config path: Site Configuration > Data Spillage Handling
  • config.json setting: DeliveryTrackingSettings > Enable > false
  • Environment variable: MM_DELIVERYTRACKINGSETTINGS_ENABLE

Delivery records are written to the audit log only, and aren't surfaced anywhere in the Mattermost interface.

Delivery records are discarded unless an audit log target consumes the audit-delivery log level. Setting this to true without configuring such a target records nothing, and Mattermost doesn't block the configuration. See Post delivery audit logging.

Record deliveries in

  • true: (Default) Deliveries are recorded in all eligible channels.
  • false: Deliveries are recorded only in the selected channels.
  • System Config path: Site Configuration > Data Spillage Handling
  • config.json setting: DeliveryTrackingSettings > EnableForAllChannels > true
  • Environment variable: MM_DELIVERYTRACKINGSETTINGS_ENABLEFORALLCHANNELS

Recording deliveries in all eligible channels is the most complete option, and also the most expensive. Direct and group messages are never eligible, regardless of this setting.

Channels to record deliveries in

The channels in which message deliveries are recorded. Applies only when Record deliveries in is set to Selected channels, in which case at least one channel is required.

Stored in the database, so there's no config.json setting and no environment variable. Manage the list in the System Console, or through the /api/v4/delivery_tracking/config API endpoints.

Direct and group message channels can't be selected.

  • System Config path: Site Configuration > Data Spillage Handling
  • config.json setting: N/A
  • Environment variable: N/A

File sharing and downloads

Access the following configuration settings in the System Console by going to Site Configuration > File Sharing and Downloads.

Allow file sharing

  • true: (Default) Allows users to attach files to messages.
  • false: Prevents users from attaching files (including images) to a message. This affects users on all clients and devices, including mobile apps.
  • System Config path: Site Configuration > File Sharing and Downloads
  • config.json setting: FileSettings > EnableFileAttachments > true
  • Environment variable: MM_FILESETTINGS_ENABLEFILEATTACHMENTS
  • true: (Default) Users can search for files attached to messages by filename.
  • false: File search is disabled. The web and desktop apps hide the Files tab in search results and the channel Files views.
  • System Config path: Site Configuration > File Sharing and Downloads
  • config.json setting: ServiceSettings > EnableFileSearch > true
  • Environment variable: MM_SERVICESETTINGS_ENABLEFILESEARCH

To let users search documents by their content as well as by filename, also enable document search by content. Disabling file search in larger deployments may improve performance by removing file search queries against the database or search engine.

Allow file uploads on mobile

  • true: (Default) Allows users to attach files to messages from mobile apps.
  • false: Prevents users from attaching files (including images) to messages from mobile apps.
  • System Config path: Site Configuration > File Sharing and Downloads
  • config.json setting: FileSettings > EnableMobileUpload > true
  • Environment variable: MM_FILESETTINGS_ENABLEMOBILEUPLOAD

Allow file downloads on mobile

  • true: (Default) Enables file downloads on mobile apps.
  • false: Disables file downloads on mobile apps. Users can still download files from a mobile web browser.
  • System Config path: Site Configuration > File sharing and downloads
  • config.json setting: FileSettings > EnableMobileDownload > true
  • Environment variable: MM_FILESETTINGS_ENABLEMOBILEDOWNLOAD

Enable secure file preview on mobile

This setting improves an organization's mobile security posture by restricting file access while still allowing essential file viewing capabilities.

  • true: Prevents file downloads, previews, and sharing for most file types, | - System Config path: Site Configuration > File sharing and downloads | even when the | - config.json setting: FileSettings > MobileEnableSecureFilePreview > false | Allow file downloads on mobile | - Environment variable: MM_FILESETTINGS_MOBILEENABLESECUREFILEPREVIEW configuration setting is enabled. Allows in-app previews for PDFs, | | videos, and images only. Files are stored temporarily in the app's cache and cannot be exported or shared. | |
  • false: (Default) Secure file preview mode is disabled. | |

  • true: (Default) Enables tapping links inside PDFs when Secure File Preview Mode is active. Links will open in the device browser or supported app.
  • false: Disables link navigation in PDFs when Secure File Preview Mode is active.
  • System Config path: Site Configuration > File sharing and downloads
  • config.json setting: FileSettings > MobileAllowPdfLinkNavigation > true
  • Environment variable: MM_FILESETTINGS_MOBILEALLOWPDFLINKNAVIGATION

This setting has no effect when the Secure file preview on mobile configuration setting is disabled.


With self-hosted deployments, you can access the following configuration settings in the System Console by going to Site Configuration > Public Links.

  • true: Allows users to create public links to files attached to Mattermost messages. | - System Config path: Site Configuration > Public Links
  • false: (Default) Prevents users from creating public links to files and disables all previously created links. | - config.json setting: FileSettings > EnablePublicLink > false |
    - Environment variable: MM_FILESETTINGS_ENABLEPUBLICLINK |

When set to false, anyone who tries to visit a previously created public link will receive an error message. If the setting is returned to true, previously created links will be accessible, unless the Public link salt has been regenerated.

32-character salt added to the URL of public file links. Changing this setting will invalidate all previously generated links. The salt is randomly generated when Mattermost is installed, and can be regenerated by selecting Regenerate in the System Console.

String input.

  • System Config path: Site Configuration > Public Links
  • config.json setting: FileSettings > PublicLinkSalt
  • Environment variable: MM_FILESETTINGS_PUBLICLINKSALT

Notices

Access the following configuration settings in the System Console by going to Site Configuration > Notices.

Enable admin notices

  • true: (Default) System admins will receive in-product notices about server upgrades and administration features. | - System Config path: Site Configuration > Notices - | - config.json setting: AnnouncementSettings > AdminNoticesEnabled > true |
  • false: System admins will not receive specific notices. Admins will still receive notices for all users (see Enable end user notices) | - Environment variable: MM_ANNOUNCEMENTSETTINGS_ADMINNOTICESENABLED |

Enable end user notices

  • true: (Default) All users receive in-product notices about client upgrades and end user features. | - System Config path: Site Configuration > Notices
  • false: Users will not receive in-product notices. | - config.json setting: AnnouncementSettings > UserNoticesEnabled > true |
    - Environment variable: MM_ANNOUNCEMENTSETTINGS_USERNOTICESENABLED |

Connected workspaces

The following settings aren't available in the System Console and can only be set in config.json.

When connected workspaces are enabled, system admins can create and manage connected workspaces in the System Console by going to Site Configuration > Connected Workspaces.

Enable connected workspaces

Enable the ability to establish secure connections between Mattermost instances, and invite secured connections to shared channels where users can participate as they would in any public and private channel.

Connected workspaces requires Mattermost Enterprise servers running v10.2 or later.

By default, both configuration settings are disabled and must be enabled in order to share channels with secure connections. Enabling connected workspace functionality requires a server restart.

This feature's two config.json settings include:

  • ConnectedWorkspacesSettings.EnableRemoteClusterService: false with options true and false.
  • ConnectedWorkspacesSettings.EnableSharedChannels: false with options true and false.

  • Neither setting is available in the System Console and can only be set in config.json under ConnectedWorkspacesSettings.
  • System admins for Cloud deployments can submit a request to have these required configuration settings enabled for their Cloud deployment instance.
  • Following an upgrade to Mattermost v10.2 or later, existing configuration values for shared channels, including EnableSharedChannels and EnableRemoteClusterService are automatically converted to connected workspace configuration settings in the config.json file. The deprecated shared channels experimental settings remain in the config.json file to support backwards compatibility.

Disable shared channel status sync

Disable member status and availability synchronization between connected workspaces.

  • true: Channel as well as member status and availability isn't synchronized.
  • false: (Default) Channel as well as channel member status and availability is synchronized at regular intervals.
  • System Config path: N/A
  • config.json setting: ConnectedWorkspacesSettings > DisableSharedChannelsStatusSync > false
  • Environment variable: N/A

Enabling these features can increase the load on your Mattermost server’s CPU, memory, and database due to frequent updates, database queries, and API communication. Excessive sync frequency and retries can overwhelm system resources, potentially causing performance degradation or instability. Monitor your system carefully when enabling these features.

Default maximum posts per sync

Define the default maximum number of messages to synchronize at a time.

Must be greater than 0. Default is 50.

  • System Config path: N/A
  • config.json setting: ConnectedWorkspacesSettings > MaxPostsPerSync > 50
  • Environment variable: N/A

Sync users on connection open

Automatically synchronize users when a new connection between workspaces is established. This ensures that remote users are immediately discoverable for direct and group messages without requiring them to post in a shared channel first.

  • true: (Default) Users are automatically synchronized when a new connection is established.
  • false: Users are not automatically synchronized when a new connection is established.
  • System Config path: N/A
  • config.json setting: ConnectedWorkspacesSettings > SyncUsersOnConnectionOpen > true
  • Environment variable: N/A

Enabling these features can increase the load on your Mattermost server’s CPU, memory, and database due to frequent updates, database queries, and API communication. Excessive sync frequency and retries can overwhelm system resources, potentially causing performance degradation or instability. Monitor your system carefully when enabling these features.

Global user sync batch size

The number of users to sync in each batch when performing global user synchronization between connected workspaces.

Must be greater than 0. Default is 25.

  • System Config path: N/A
  • config.json setting: ConnectedWorkspacesSettings > GlobalUserSyncBatchSize > 25
  • Environment variable: N/A

Enabling these features can increase the load on your Mattermost server’s CPU, memory, and database due to frequent updates, database queries, and API communication. Excessive sync frequency and retries can overwhelm system resources, potentially causing performance degradation or instability. Monitor your system carefully when enabling these features.

Member sync batch size

The number of channel members to sync in each batch when synchronizing channel membership between connected workspaces.

Must be greater than 0. Default is 20.

  • System Config path: N/A
  • config.json setting: ConnectedWorkspacesSettings > MemberSyncBatchSize > 20
  • Environment variable: N/A

Enabling these features can increase the load on your Mattermost server’s CPU, memory, and database due to frequent updates, database queries, and API communication. Excessive sync frequency and retries can overwhelm system resources, potentially causing performance degradation or instability. Monitor your system carefully when enabling these features.


Classification Markings

From Mattermost v11.8, system admins can configure classification markings in the System Console by going to Site Configuration > Classification Markings.

Classification markings define reusable classification levels that can be displayed as global or channel-level banners in the web and desktop apps. Each classification level includes a name, color, and rank order. You can select a preset, such as US DoD, NATO, UK GSCP, Canada, or Australia PSPF, or define custom classification levels. Levels are ordered using the same Ranked attribute type available in Attribute management, so each level sits at a defined position from lowest to highest.

Classification markings and channel attributes are informational in this release. They aren't evaluated by access policies and don't control access to channels, messages, or files.

Configure classification markings:

  1. Go to System Console > Site Configuration > Classification Markings.
  2. Enable Enable classification markings.
  3. Select a Classification preset, or create custom classification levels.
  4. Configure classification level names, colors, and rank order.
  5. Optionally enable the Global Classification Banner under Global Classification Indicators.
  6. Select the Banner visibility:

  7. Top only

  8. Top and bottom

  9. Select the Global classification level to display.

  10. Select Save.

Classification and channel attributes

From Mattermost v12.0, when the ChannelAttributes feature flag is enabled, Classification is also represented as a global attribute under System Attributes > Attribute Management. Its definition is read-only there: classification levels, ranks, colors, and the global banner continue to be managed on the Classification Markings page. The resources Classification applies to and its channel display locations are managed from Attribute Management.

When Classification Markings are enabled, Mattermost adds a Channels resource to Classification and configures it for banner display by default. Channel admins then assign the classification value from Channel Info or Channel Settings > Info. The previous Classification control under Channel Settings > Configuration is hidden.

When Classification is included in a channel banner, the selected level's color controls the banner color. A channel banner manager can customize the banner text and combine Classification with other channel attributes. Removing the Classification token from the banner returns control of the banner color to the channel without clearing the classification value.

See Channel attributes for configuration, assignment, upgrade, and banner behavior.


config.json-only settings

The following self-hosted deployment settings are only configurable in the config.json file and are not available in the System Console.

Disable the ability to search across all teams or a specific team.

  • true: (Default) Cross-team search is enabled. Searches can be performed against all channels the user is a member of across all teams, a specific team, or the current team.
  • false: Cross-team search is disabled. Searches are performed on all channels the user is member of within the current team only.
  • System Config path: N/A
  • config.json setting: ServiceSettings.EnableCrossTeamSearch > true
  • Environment variable: MM_SERVICESETTINGS_ENABLECROSSTEAMSEARCH