Feature Toggles#

This is the list of all Open edX feature toggles used in edx-platform. These feature toggles can be used to enable or disable features manually on every platform.


Default: False

Source: lms/djangoapps/discussion/settings/common.py (line 6)

If True, it adds an option to show/hide the discussions tab.


Default: False

Source: lms/envs/common.py (line 3670)

Optional setting for enabling email notifications. When set to “True”, learners will be notified by email when they earn a badge.


Default: False

Source: lms/envs/common.py (line 2853)

When `True`, only a specified number of versions of block structure files are kept for each structure, and the rest are cleaned up. The number of versions that are kept can be specified in the `BlockStructureConfiguration`, which can be edited in Django Admin. The default number of versions that are kept is `5`.


Default: False

Source: lms/djangoapps/bulk_email/toggles.py (line 20)

If True, use edx-ace to send bulk email messages


Default: False

Source: cms/envs/common.py (line 2351)

Whether, upon publish, a course should automatically be exported to Neo4j via the connection parameters specified in `COURSEGRAPH_CONNECTION`.


Default: False

Source: lms/djangoapps/courseware/toggles.py (line 86)

Setting this sets the default value of INVITE_ONLY across all courses in a given deployment


Default: False

Source: lms/envs/common.py (line 313)

Set to True to enable Custom Courses for edX, a feature that is more commonly known as CCX. Documentation for configuring and using this feature is available at https://edx.readthedocs.io/projects/open-edx-ca/en/latest/set_up_course/custom_courses.html


Default: False

Source: openedx/features/course_duration_limits/models.py (line 16)

When enabled, users will have a limited time to complete and audit the course. The exact duration is given by the “weeks_to_complete” course detail. When enabled, it is necessary to also define the “enabled_as_of” flag: only enrollments created after this date will be affected.


Default: False

Source: openedx/core/djangoapps/video_config/models.py (line 67)

Add the “hls” profile to all displayed videos for a single course.


Default: False

Source: openedx/core/djangoapps/video_pipeline/models.py (line 105)

Allow video uploads for a specific course. This enables the “Video Uploads” menu in the CMS.


Default: False

Source: lms/envs/common.py (line 4076)

This specifies if the courses are available for mobile by default. To make any individual course available for mobile one can set the value of Mobile Course Available to true in Advanced Settings from the studio when this is False.


Default: False

Source: cms/envs/common.py (line 2614)

Toggle for removing the deprecated /signin url.


Default: False

Source: cms/envs/common.py (line 2625)

Toggle for removing the deprecated /signup url.


Default: False

Source: openedx/core/djangoapps/oauth_dispatch/toggles.py (line 10)

Set toggle to True to ignore mobile requests for JWTs, and instead provide the legacy opaque Bearer token. This toggle can be used as a temporary kill switch as the mobile app attempts to rollout the transition to JWT authentication for the first time.


Default: False

Source: cms/envs/common.py (line 586)

When enabled, this toggle activates the use of the password validation on Authn MFE’s login.


Default: False

Source: cms/envs/common.py (line 574)

When enabled, this toggle activates the use of the password validation on Authn MFE’s login.


Default: False

Source: cms/envs/common.py (line 563)

When enabled, this toggle activates the use of the password validation HIBP Policy on Authn MFE’s registration.


Default: False

Source: cms/envs/common.py (line 554)

When enabled, this toggle activates the use of the password validation HIBP Policy.


Default: False

Source: xmodule/capa/safe_exec/remote_exec.py (line 21)

Set this to True if you want to run Codejail code using a separate VM or container and communicate with edx-platform using REST API.


Default: False

Source: cms/envs/common.py (line 2149)

See LMS annotation.


Default: False

Source: cms/envs/common.py (line 531)

When True, inforces COPPA compliance and removes YOB field from registration form and accounnt


Default: False

Source: cms/envs/common.py (line 598)

When enabled, this toggle adds fields configured in


Default: False

Source: lms/envs/common.py (line 5234)

Set to True to enable MFE Config API. This is disabled by default.


Default: False

Source: openedx/core/djangoapps/user_authn/toggles.py (line 11)

Set to True to prevent using username/password login and registration and only allow authentication with third party auth


Default: True

Source: openedx/core/djangoapps/safe_sessions/middleware.py (line 136)

Invalidate session and response if mismatch detected. That is, when the `user` attribute of the request object gets changed or no longer matches the session, the session will be invalidated and the response cancelled (changed to an error). This is intended as a backup safety measure in case an attacker (or bug) is able to change the user on a session in an unexpected way.


Default: True

Source: openedx/core/lib/request_utils.py (line 147)

Set this to False if the errors are not ignored by monitoring, but only expected, like for temporary problems that may take some time to fix. If True, adds the custom attributes ``error_ignored_class`` and ``error_ignored_message`` to help diagnose issues with ignored errors, since this data is not otherwise available. For example of ignoring errors in New Relic, see: https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected/#ignore pylint: disable=line-too-long,useless-suppression To query for ignored errors, you would use ``error_ignored_class IS NOT NULL``. Note: This is defaulted to True because it will be easier for us to detect if True is not the correct value, by seeing that these errors aren’t actually ignored.


Default: False

Source: openedx/core/lib/request_utils.py (line 166)

If True, the error will be logged with a message like: “Expected error …”.


Default: False

Source: openedx/core/lib/request_utils.py (line 173)

If True, the stacktrace will be included with the logging message.


Default: False

Source: lms/envs/common.py (line 933)

If true, allows for the deletion of EnterpriseCourseEnrollment records via Django Admin.


Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 63)

Enable to show a section in the membership tab of the instructor dashboard to allow an upload of a CSV file that contains a list of new accounts to create and register for course.


Default: True

Source: cms/envs/common.py (line 299)

This will allow staff member to re-run the course from the studio home page and will always use the split modulestore. When this is set to False, the Re-run Course link will not be available on the studio home page.


Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 53)

Enable to give course staff unrestricted access to grade downloads; if set to False, only edX superusers can perform the downloads.


Default: True

Source: lms/envs/common.py (line 798)

Allow users to change their email address on the Account Settings page. If this is disabled, users will not be able to change their email address.


Default: True

Source: lms/envs/common.py (line 771)

Allow public account creation. If this is disabled, users will no longer have access to the signup page.


Default: True

Source: lms/envs/common.py (line 483)

When a logged in user goes to the homepage (‘/’) the user will be redirected to the dashboard page when this flag is set to True - this is default Open edX behavior. Set to False to not redirect the user.


Default: False

Source: lms/envs/common.py (line 343)

Set to True to perform acceptance and load test. Auto auth view is responsible for load testing and is controlled by this feature flag. Auto-auth causes issues in Bok Choy tests because it resets the requesting user. Session verification (of CacheBackedAuthenticationMiddleware) is a security feature, but it can be turned off by enabling this feature flag.


Default: False

Source: lms/envs/common.py (line 398)

If set to True, then we want to skip posting anything to Software Secure. Bypass posting anything to Software Secure if the auto verify feature for testing is enabled. We actually don’t even create the message because that would require encryption and message signing that rely on settings.VERIFY_STUDENT values that aren’t set in dev. So we just pretend like we successfully posted and automatically approve student identity verification attempts.


Default: True

Source: lms/djangoapps/instructor/settings/common.py (line 95)

Controls if the “Notify users by email” checkbox in the batch enrollment form on the instructor dashboard is already checked on page load or not.


Default: False

Source: lms/envs/common.py (line 626)

Set to True to enable course certificates on your instance of Open edX.

FEATURES[‘CERTIFICATES_INSTRUCTOR_GENERATION’] # lint-amnesty, pylint: disable=annotation-missing-token#

Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 86)

Enable to allow batch generation of certificates from the instructor dashboard. In case of self-paced courses, the certificate generation button is hidden if certificate generation is not explicitly enabled globally or for the specific course.


Default: True

Source: lms/envs/common.py (line 247)

When this is set to True, all the courses will be listed on the /courses page and Explore Courses link will be visible. Set to False if courses list and Explore Courses link need to be hidden.


Default: False

Source: lms/envs/common.py (line 639)

Set to True to enable custom certificate templates which are configured via Django admin.


Default: True

Source: cms/envs/common.py (line 422)

Warn about removing support for deprecated course keys. To enable, set to True. To disable, set to False. To enable with a custom support deadline, set to an ISO-8601 date string: eg: ‘2020-09-01’


Default: False

Source: cms/envs/common.py (line 520)

Set to `True` to disable the advanced settings page in Studio for all users except those having `is_superuser` or `is_staff` set to `True`.


Default: False

Source: lms/envs/common.py (line 1023)

Set to True to disable enrollment for user invited to a course


Default: False

Source: cms/envs/common.py (line 450)

If set to True, it disables the course creation functionality and hides the “New Course” button in studio. It is important to note that the value of this flag only affects if the user doesn’t have a staff role, otherwise the course creation functionality will work as it should.


Default: False

Source: lms/envs/common.py (line 331)

Set to True to disable honor certificates. Typically used when your installation only allows verified certificates, like courses.edx.org.


Default: False

Source: lms/envs/common.py (line 212)

Removes the display of the login button in the navigation bar. Change is only at the UI level. Used in systems where login is automatic, eg MIT SSL


Default: False

Source: cms/envs/common.py (line 376)

Set to True to remove Mobile Course Available UI Flag from Studio’s Advanced Settings page else Mobile Course Available UI Flag will be available on Studio side.


Default: False

Source: lms/envs/common.py (line 118)

When True, all courses will be active, regardless of start date.


Default: False

Source: cms/envs/common.py (line 508)

Set to True to disable self-unenrollments via REST API. This also hides the “Unenroll” button on the Learner Dashboard.


Default: True

Source: lms/djangoapps/instructor/settings/common.py (line 13)

Enable display of enrollment counts in instructor dashboard and analytics section.


Default: True

Source: lms/envs/common.py (line 95)

Add a “Staff Debug” button to course blocks for debugging by course staff.


Default: False

Source: lms/envs/common.py (line 105)

This displays histograms in the Staff Debug Info panel to course staff.


Default: True

Source: cms/envs/common.py (line 221)

This feature flag allows editing of short descriptions on the Schedule & Details page in Open edX Studio. Set to False if you want to disable the editing of the course short description.


Default: False

Source: lms/envs/common.py (line 440)

Turns on embargo functionality, which blocks users from the site or courses based on their location. Embargo can restrict users by states and whitelist/blacklist (IP Addresses (ie., Networks (ie., or the user profile country.


Default: True

Source: lms/envs/common.py (line 848)

Whether to display the account deletion section on Account Settings page. Set to False to hide this section.


Default: False

Source: openedx/features/announcements/settings/common.py (line 5)

This feature can be enabled to show system wide announcements on the sidebar of the learner dashboard. Announcements can be created by Global Staff users on maintenance dashboard of studio. Maintenance dashboard can accessed at https://{studio.domain}/maintenance


Default: False

Source: lms/envs/common.py (line 872)

Supports staged rollout of a new micro-frontend-based implementation of the logistration.


Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 74)

When True, the CSV file that contains a list of new accounts to create and register for a course in the membership tab of the instructor dashboard will accept the cohort name to assign the new user and the enrollment course mode.


Default: False

Source: lms/envs/common.py (line 808)

When set to True the bulk enrollment view is enabled and one can use it to enroll multiple users in a course using bulk enrollment API endpoint (/api/bulk_enroll/v1/bulk_enroll).


Default: False

Source: lms/envs/common.py (line 942)

Set to True to enable bulk user retirement through REST API. This is disabled by default.


Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 23)

Display the ‘Analytics’ tab in the instructor dashboard for CCX courses. Note: This has no effect unless ANALYTICS_DASHBOARD_URL is already set, because without that setting, the tab does not show up for any courses.


Default: False

Source: lms/envs/common.py (line 1013)

Whether to enforce ID Verification requirements for couse certificates generation


Default: False

Source: cms/envs/common.py (line 386)

Set to True to enable changing a user password through django admin. This is disabled by default because enabling allows a method to bypass password policy.


Default: False

Source: lms/envs/common.py (line 519)

Display the standard footer in the login page. This feature can be overridden by a site- specific configuration.


Default: False

Source: cms/envs/common.py (line 268)

When set to True, Content Libraries in Studio can be used as an LTI 1.3 tool by external LTI platforms.


Default: False

Source: lms/envs/common.py (line 387)

Enable the display of “cosmetic_display_price”, set in a course advanced settings. This cosmetic price is used when there is no registration price associated to the course.


Default: False

Source: lms/envs/common.py (line 575)

When enabled, this adds a Search the course widget on the course outline and courseware pages for searching courseware data.


Default: False

Source: lms/envs/common.py (line 588)

When enabled, this adds a Search the course widget on the course outline and courseware pages for searching courseware data but for course staff users only.


Default: False

Source: lms/envs/common.py (line 922)

Set to True to start sending signals for assessment level grade updates. Notably, the only handler of this signal at the time of this writing sends assessment updates to enterprise integrated channels.


Default: False

Source: lms/envs/common.py (line 650)

Add a course search widget to the LMS for searching courses. When this is enabled, the latest courses are no longer displayed on the LMS landing page. Also, an “Explore Courses” item is added to the navbar.


Default: False

Source: lms/envs/common.py (line 663)

If set to True, CCX ID will be included in the generated filename for CCX courses.


Default: True

Source: lms/envs/common.py (line 505)

When enabled, along with the ENABLE_MKTG_SITE feature toggle, users who attempt to access a course “about” page will be redirected to the course home url.


Default: True

Source: lms/envs/common.py (line 494)

When a user goes to the homepage (‘/’) the user sees the courses listed in the announcement dates order - this is default Open edX behavior. Set to True to change the course sorting behavior by their start dates, latest first.


Default: True

Source: lms/envs/common.py (line 3528)

When enabled, it is possible to define a credit eligibility criteria in the CMS. A “Credit Eligibility” section then appears for those courses in the LMS.


Default: True

Source: lms/envs/common.py (line 750)

Write Courseware Student Module History (CSMH) to the extended table: this logs all student activities to MySQL, in a separate database.


Default: False

Source: lms/envs/common.py (line 601)

When enabled, this adds a Search Your Courses widget on the dashboard page for searching courseware data.


Default: False

Source: lms/envs/common.py (line 166)

Set this to True if you want the discussion digest emails enabled automatically for new users. This will be set on all new account registrations.


Default: True

Source: lms/envs/common.py (line 155)

Hides or displays a welcome panel under the Discussion tab, which includes a subscription on/off setting for discussion digest emails.


Default: True

Source: lms/envs/common.py (line 131)

When True, it will enable the Discussion tab in courseware for all courses. Setting this to False will not contain inline discussion components and discussion tab in any courses.


Default: True

Source: lms/envs/common.py (line 192)

Set to False if you want to disable Django’s admin site.


Default: False

Source: lms/envs/common.py (line 545)

This toggle enables the students to save and manage their annotations in the course using the notes service. The bulk of the actual work in storing the notes is done by a separate service (see the edx-notes-api repo).


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 68)

When enabled, users can access the new course authoring view for proctoring exams


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 7)

When enabled, a “Export to Git” menu item is added to the course studio for courses that have a valid “giturl” attribute. Exporting a course to git causes the course to be exported in the directory indicated by the GIT_REPO_EXPORT_DIR setting. Note that when this feature is disabled, courses can still be exported to git with the git_export management command.


Default: False

Source: lms/djangoapps/discussion/config/settings.py (line 6)

Settings for forums/discussions to on/off daily digest feature. Set this to True if you want to enable users to subscribe and unsubscribe for daily digest. This setting enables deprecation of daily digest.


Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 42)

Enable grade CSV downloads from the instructor dashboard. Grade calculation started from the instructor dashboard will write grades CSV files to the configured storage backend and give links for downloads.


Default: True

Source: cms/envs/common.py (line 462)

When True, a help link is displayed on the main navbar. Set False to hide it.


Default: False

Source: lms/envs/common.py (line 821)

Whether HTML Block returns HTML content with the Course Blocks API when the API is called with student_view_data=html query parameter.


Default: False

Source: cms/envs/common.py (line 483)

Whether to replace ID verification course/certificate requirement


Default: True

Source: openedx/core/djangoapps/credentials/helpers.py (line 9)

Enable learner records for the whole platform. This setting may be overridden by site- and org-specific site configurations with the same name.


Default: False

Source: cms/envs/common.py (line 438)

Set to True to enable the Library Authoring MFE


Default: False

Source: lms/envs/common.py (line 368)

Enable the login micro frontend.


Default: False

Source: lms/envs/common.py (line 711)

When set to True, Open edX site can be used as an LTI Provider to other systems and applications.


Default: True

Source: lms/envs/common.py (line 204)



Default: True

Source: lms/envs/common.py (line 422)

This feature will keep track of the number of failed login attempts on a given user’s email. If the number of consecutive failed login attempts - without a successful login at some point - reaches a configurable threshold (default 6), then the account will be locked for a configurable amount of seconds (30 minutes) which will prevent additional login attempts until this time period has passed. If a user successfully logs in, all the counter which tracks the number of failed attempts will be reset back to 0. If set to False then account locking will be disabled for failed login attempts.


Default: False

Source: lms/envs/common.py (line 470)

Toggle to enable alternate urls for marketing links.


Default: False

Source: lms/envs/common.py (line 976)

When true, replaces the bulk email tool found on the instructor dashboard with a link to the new communications MFE version instead. Stting the tool to false will leave the old bulk email tool experience in place.


Default: False

Source: lms/envs/common.py (line 221)

Enable this feature to allow this Open edX platform to be an OAuth2 authentication provider. This is necessary to enable some other features, such as the REST API for the mobile application.


Default: False

Source: lms/envs/common.py (line 698)

Enables support for the creation of OpenBadges as a method of awarding credentials.


Default: False

Source: cms/envs/common.py (line 396)

A “work-around” feature toggle meant to help in cases where some file uploads are not discoverable. If enabled, will iterate through all possible file key suffixes up to the max for displaying file metadata in staff assessments.


Default: False

Source: lms/djangoapps/teams/toggles.py (line 12)

Set to True to enable team-based ORA submissions.


Default: False

Source: lms/envs/common.py (line 910)

Set to True to add deanonymized usernames to ORA data report.


Default: False

Source: cms/envs/common.py (line 410)

A “work-around” feature toggle meant to help in cases where some file uploads are not discoverable. If enabled, will pull file metadata from StudentModule.state for display in staff assessments.


Default: False

Source: lms/envs/common.py (line 833)

Whether to send an email for failed password reset attempts or not. This happens when a user asks for a password reset but they don’t have an account associated to their email. This is useful for notifying users that they don’t have an account associated with email addresses they believe they’ve registered with. This setting can be overridden by a site-specific configuration.


Default: False

Source: cms/envs/devstack.py (line 288)

Temporary configuration which enables sending xblock events over the event bus.


Default: False

Source: lms/envs/common.py (line 689)

Enable to use special exams, aka timed and proctored exams.


Default: True

Source: lms/envs/common.py (line 279)

This provides a UI to show a student’s submission history in a problem by the Staff Debug tool. Set to False if you want to hide Submission History from the courseware page.


Default: True

Source: lms/envs/common.py (line 144)

Add PDF and HTML textbook tabs to the courseware.


Default: False

Source: lms/envs/common.py (line 459)

Turn on third-party auth. Disabled for now because full mplementations are not yet available. Remember to run migrations if you enable this; we don’t create tables by default. This feature can be enabled on a per-site basis. When enabling this feature, remember to define the allowed authentication backends with the AUTHENTICATION_BACKENDS setting.


Default: False

Source: lms/envs/common.py (line 181)

Set this to True to allow unicode characters in username. Enabling this will also automatically enable SOCIAL_AUTH_CLEAN_USERNAMES. When this is enabled, usernames will have to match the regular expression defined by USERNAME_REGEX_PARTIAL.


Default: False

Source: cms/envs/common.py (line 472)

Whether to use the reimagined certificates_display_behavior and certificate_available_date


Default: False

Source: lms/envs/common.py (line 232)

Enable an API endpoint, named “xblock_view”, to serve rendered XBlock views. This might be used by external applications. See for instance jquery-xblock (now unmaintained): https://github.com/openedx/jquery-xblock


Default: False

Source: openedx/core/toggles.py (line 7)

Enable entrance exams feature. When enabled, students see an exam xblock as the first unit of the course.


Default: False

Source: lms/envs/common.py (line 269)

When set, it hides the Courses list on the Learner Dashboard page if the learner has not yet activated the account and not enrolled in any courses.


Default: False

Source: lms/envs/common.py (line 616)

Toggle platform-wide course licensing. The course.license attribute is then used to append license information to the courseware.


Default: False

Source: common/djangoapps/util/milestones_helpers.py (line 25)

Enable the milestones application, which manages significant Course and/or Student events in the Open edX platform. (see https://github.com/openedx/edx-milestones) Note that this feature is required to enable course pre-requisites.


Default: True

Source: lms/envs/common.py (line 356)

Prevent auto auth from creating superusers or modifying existing users. Auto auth is a mechanism where superusers can simply modify attributes of other users by accessing the “/auto_auth url” with the right querystring parameters.


Default: False

Source: lms/envs/common.py (line 724)

When set to True, language selector will be visible in the header.


Default: False

Source: xmodule/seq_block.py (line 65)

Set to True to show progress bar.


Default: False

Source: lms/envs/common.py (line 377)

Turn this on to skip sending emails for user validation. Beware, as this leaves the door open to potential spam abuse.


Default: False

Source: openedx/core/djangoapps/util/user_messages.py (line 187)

When enabled, show the contents of GLOBAL_NOTICE_MESSAGE as a message on every page. This is intended to be used as a way of communicating an upcoming or currently active maintenance window or to warn of known site issues. HTML is not supported for the message content, only plaintext. Message styling can be controlled with GLOBAL_NOTICE_TYPE, set to one of INFO, SUCCESS, WARNING, or ERROR (defaulting to INFO). Also see openedx.core.djangoapps.util.maintenance_banner.add_maintenance_banner for a variation that only shows a message on specific views.


Default: False

Source: openedx/core/djangoapps/video_config/models.py (line 16)

Add the “hls” profile to all displayed videos on the platform.


Default: False

Source: openedx/core/djangoapps/oauth_dispatch/jwt.py (line 198)

When True, forces the LMS to only create JWTs signed with the asymmetric key. This is a temporary rollout toggle for DEPR of symmetric JWTs.


Default: False

Source: openedx/core/djangoapps/safe_sessions/middleware.py (line 101)

Turn this toggle on to provide additional debugging information in the case of a user verification error. It will track anytime the `user` attribute of a request object is changed and store this information on the request. This will also track the location where the change is coming from to quickly find issues. If user verification fails at response time, all of the information about these changes will be logged.


Default: False

Source: openedx/core/djangoapps/safe_sessions/middleware.py (line 116)

Turn this toggle on to log all request headers, for all requests, for all user ids involved in any user id change detected by safe sessions. The headers will provide additional debugging information. The headers will be logged for all requests up until LOG_REQUEST_USER_CHANGE_HEADERS_DURATION seconds after the time of the last mismatch. The header details will be encrypted, and only available with the private key.


Default: False

Source: cms/envs/common.py (line 495)

If enabled, the Library Content Block is marked as complete when users view it. Otherwise (by default), all children of this block must be completed.


Default: True

Source: cms/envs/common.py (line 2665)

When enabled, creating a course run or content library with an “org slug” that does not map to an Organization in the database will trigger the creation of a new Organization, with its name and short_name set to said org slug. When disabled, creation of such content with an unknown org slug will instead result in a validation error. If you want the Organization table to be an authoritative information source in Studio, then disable this; however, if you want the table to just be a reflection of the orgs referenced in Studio content, then leave it enabled.


Default: True

Source: lms/envs/common.py (line 4748)

When enabled, RATELIMIT_RATE is applied. When disabled, RATELIMIT_RATE is not applied.


Default: True

Source: lms/envs/common.py (line 4117)

If enabled, invitation-only courses will appear in search results.


Default: True

Source: lms/envs/common.py (line 4124)

If enabled, courses with a catalog_visibility set to “none” will still appear in search results.


Default: False

Source: cms/djangoapps/contentstore/signals/handlers.py (line 59)

When True, sends to catalog-info-changed signal when course_published occurs. This is a temporary toggle to allow us to test the event bus integration; it should be removed and always-on once the integration is well-tested and the error cases are handled. (This is separate from whether the event bus itself is configured; if this toggle is on but the event bus is not configured, we should expect a warning at most.)


Default: False

Source: lms/djangoapps/certificates/config.py (line 20)

When True, the system will publish `CERTIFICATE_CREATED` signals to the event bus. The `CERTIFICATE_CREATED` signal is emit when a certificate has been awarded to a learner and the creation process has completed.


Default: False

Source: lms/envs/common.py (line 5169)

Flag would be used to show account activation popup after the registration


Default: False

Source: openedx/core/djangoapps/video_pipeline/models.py (line 14)

Send videos to the Video Encode Manager (VEM) as part of the video pipeline.


Default: False

Source: openedx/core/djangoapps/video_pipeline/models.py (line 55)

Allow video uploads for all courses of the platform. This enables the “Video Uploads” menu in the CMS.


Default: False

Source: lms/envs/common.py (line 1964)

We recommend you leave this as ‘False’ for an Open edX installation to get the proper behavior for register, login and logout. For the original docs see: https://github.com/openedx/django-wiki/blob/edx_release/wiki/conf/settings.py


Default: False

Source: lms/envs/common.py (line 1974)

Enabling this allows access to anonymous users. For the original docs, see: https://github.com/openedx/django-wiki/blob/edx_release/wiki/conf/settings.py


Default: True

Source: lms/envs/common.py (line 1401)

This setting allows us to have a collaborative tool to contribute or modify content of course related materials.


Default: False

Source: lms/envs/common.py (line 1990)

Enabling this will use the bootstrap select widget. For the original docs, see: https://github.com/openedx/django-wiki/blob/edx_release/wiki/conf/settings.py


Default: False

Source: openedx/core/djangoapps/user_api/accounts/toggles.py (line 29)

Supports staged rollout of a new micro-frontend-based implementation of the account page. Its action can be overridden using site’s ENABLE_ACCOUNT_MICROFRONTEND setting.


Default: False

Source: openedx/core/djangoapps/content/block_structure/config/__init__.py (line 12)

When enabled, the block structure cache is invalidated when changes to courses are published. If `block_structure.storage_backing_for_cache` is active, all block structures related to the published course are also cleared from storage.


Default: False

Source: openedx/core/djangoapps/content/block_structure/config/__init__.py (line 30)

When enabled, block structures are stored in a more permanent storage, like a database, which provides an additional backup for cache misses, instead having them regenerated. The regenration of block structures is a time consuming process. Therefore, enabling this switch is recommended for Production.


Default: False

Source: openedx/core/lib/blockstore_api/config/waffle.py (line 7)

Enable to use the installed blockstore app’s Python API directly instead of the external blockstore service REST API. The blockstore REST API is used by default.


Default: False

Source: lms/djangoapps/bulk_email/toggles.py (line 8)

If False, use the same BULK_EMAIL_DEFAULT_FROM_EMAIL or DEFAULT_FROM_EMAIL as the from_addr for all bulk email, to avoid issues with spam filtering


Default: False

Source: lms/djangoapps/certificates/config.py (line 11)

This toggle will enable certificates to be automatically generated


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 39)

Enables bypassing olx validation failures during course import.


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 182)

Moves most component-level actions into a submenu and adds new “Copy Component” and “Paste Component” actions which can be used to copy components (XBlocks) within or among courses.


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 162)

This flag enables the use of unique anonymous_user_id during studio preview


Default: False

Source: cms/djangoapps/contentstore/config/waffle.py (line 29)

Toggles the new micro-frontend-based implementation of the library authoring experience.


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 26)

Enables data new view for library on studio dashboard.


Default: False

Source: openedx/core/djangoapps/course_apps/toggles.py (line 22)

Uses exams IDA


Default: False

Source: openedx/core/djangoapps/course_apps/toggles.py (line 9)

When enabled, users will be directed to a new proctoring settings modal on the Pages and Resources view when accessing proctored exam settings.


Default: False

Source: lms/djangoapps/course_api/blocks/toggles.py (line 10)

Waffle flag to hide access denial messages in the course blocks.


Default: False

Source: openedx/features/course_experience/__init__.py (line 65)

This course flag enables a course tool (which is a tool that is added on a course home page) that sends course assignment calendars to course students, whenever they click on the “Subscribe to calendar updates” button. The email contains an ics attachment that students can then use to sync with their own calendar apps.


Default: False

Source: openedx/features/course_experience/waffle.py (line 11)

Used to determine whether to show custom HTML in the sidebar on the internal course about page.


Default: False

Source: openedx/features/course_experience/__init__.py (line 27)

Used to determine whether or not to use course goals for the particular course.


Default: False

Source: openedx/features/course_experience/__init__.py (line 43)

Waffle flag to enable relative dates for course content. A ‘Dates’ tab will be visible in the course view showing key course dates. Was previously an ExperimentWaffleFlag with experiment_id=17.


Default: False

Source: openedx/features/course_experience/__init__.py (line 55)

Waffle flag to disable resetting deadlines by learners in self-paced courses. The ‘Dates’ tab will no longer show a banner about missed deadlines. The deadlines banner will also be hidden on unit pages.


Default: False

Source: lms/djangoapps/course_api/__init__.py (line 18)

Waffle switch to enable the throttling of 10 requests/minute to the course API. For staff users, this limit is 20 requests/minute.


Default: False

Source: lms/djangoapps/course_api/__init__.py (line 9)

Waffle switch to enable the throttling of 2 requests/minute to the course API. For staff users, this limit is 10 requests/minute.


Default: False

Source: openedx/core/djangoapps/course_live/config/waffle.py (line 22)

Waffle flag to enable big blue button provider


Default: False

Source: openedx/core/djangoapps/course_live/config/waffle.py (line 10)

Waffle flag to enable the course live app plugin


Default: False

Source: common/djangoapps/course_modes/views.py (line 50)

This flag enables the use of the new track selection template for testing purposes before full rollout


Default: False

Source: lms/djangoapps/courseware/config.py (line 9)

enables new internal only financial assistance flow, when active.


Default: False

Source: lms/djangoapps/courseware/toggles.py (line 28)

Waffle flag to display learner progress milestones in a course. Supports staged rollout to students for a new micro-frontend-based implementation of the courseware page.


Default: False

Source: lms/djangoapps/courseware/toggles.py (line 42)

Waffle flag to display a celebration modal when learner completes a configurable streak Supports staged rollout to students for a new micro-frontend-based implementation of the courseware page.


Default: False

Source: lms/djangoapps/courseware/toggles.py (line 58)

This flag enables an engagement discount incentive message.


Default: False

Source: lms/djangoapps/courseware/toggles.py (line 13)

Supports staged rollout of the new micro-frontend-based implementation of the course exit page.


Default: False

Source: lms/djangoapps/courseware/toggles.py (line 72)

Waffle flag that determines whether we speed up the render_xblock for browsers by removing unnecessary JavaScript and CSS. It is possible that this could introduce edge cases with content that relies on these assets, so being a CourseWaffleFlag will give us the flexibility to exempt courses from these optimizations.


Default: False

Source: openedx/features/discounts/applicability.py (line 31)

Toggle discounts always being disabled


Default: False

Source: lms/djangoapps/discussion/toggles.py (line 7)

Waffle flag to use the new MFE experience for discussions in the course tab


Default: False

Source: lms/djangoapps/discussion/config/waffle.py (line 9)

Waffle flag to enable learners stats


Default: False

Source: lms/djangoapps/discussion/toggles.py (line 16)

Waffle flag to enable learners tab in the new MFE experience for discussions


Default: False

Source: lms/djangoapps/discussion/toggles.py (line 27)

Waffle flag to toggle support for the new edit and post close reason codes


Default: False

Source: openedx/core/djangoapps/discussions/config/waffle.py (line 36)

Waffle flag to toggle on the new structure for in context discussions


Default: False

Source: lms/djangoapps/discussion/toggles.py (line 38)

Waffle flag to toggle email notifications for reported content for moderators


Default: False

Source: openedx/core/djangoapps/discussions/config/waffle.py (line 9)

Waffle flag to override visibility of discussion settings for legacy experience.


Default: False

Source: openedx/core/djangoapps/discussions/config/waffle.py (line 23)

Waffle flag to enable new Pages and Resources experience for course.


Default: False

Source: openedx/features/effort_estimation/toggles.py (line 10)

If effort estimations are confusing for a given course (e.g. the course team has added manual estimates), you can turn them off case by case here.


Default: False

Source: lms/djangoapps/experiments/utils.py (line 44)

Toggle for adding info about each course to the dashboard metadata


Default: False

Source: lms/djangoapps/experiments/utils.py (line 29)

Toggle for adding the current course’s program information to user metadata


Default: False

Source: lms/djangoapps/experiments/utils.py (line 56)

Make sure upsell tracking JS works as expected.


Default: False

Source: lms/djangoapps/experiments/views_custom.py (line 27)

Toggle mobile upsell enabled


Default: False

Source: cms/djangoapps/export_course_metadata/toggles.py (line 7)

Export of course metadata (initially to s3 for use by braze)


Default: False

Source: lms/djangoapps/grades/config/waffle.py (line 65)

When enabled, bulk features are visible for management in masters course. As far as we understand, this feature is now unused and obsolete.


Default: False

Source: lms/djangoapps/grades/config/waffle.py (line 17)

When enabled, a change in grading policy will not trigger re-grading.


Default: False

Source: lms/djangoapps/grades/config/waffle.py (line 40)

When enabled, grades can no longer be updated 30 days after a course has ended. Note that this is only valid for courses which actually have an end date.


Default: False

Source: lms/djangoapps/grades/config/waffle.py (line 53)

When enabled, add GET/POST endpoints for updating gradebook entries in bulk. Also, a link to the writable gradebook is added to the instructor dashboard.


Default: False

Source: lms/djangoapps/instructor/toggles.py (line 11)



Default: False

Source: lms/djangoapps/instructor_task/config/waffle.py (line 27)

When generating grade reports, write chunks to disk to avoid out of memory errors.


Default: False

Source: openedx/core/djangoapps/util/legacy_ip.py (line 15)

Emergency switch to revert to use an older, less secure method for IP determination (instead of the newer, safer code in ``edx_django_utils.ip``). When enabled, instructs switch’s callers to revert to using the *leftmost* IP from the X-Forwarded-For header. When disabled (the default), callers should use the new code path for IP determination, which has callers retrieve the entire external chain or pick the leftmost or rightmost IP from it. The construction of the external chain is configurable via ``CLOSEST_CLIENT_IP_FROM_HEADERS``. This toggle, as well as any other legacy IP references, should be deleted (in the off position) when the new IP code is well-tested and all IP-reliant code has been switched over to using ``edx_django_utils.ip``.


Default: False

Source: lms/djangoapps/learner_dashboard/config/waffle.py (line 41)

Waffle flag to enable new B2C Subscriptions Program data. This flag is used to decide whether we need to enable program subscription related properties in program listing and detail pages.


Default: False

Source: lms/djangoapps/learner_dashboard/config/waffle.py (line 25)

Waffle flag to enable new Masters Program discussion experience for masters program. This flag is used to decide whether we need to render master program data in “tab” view or simple view. In the new tab view, we have tabs like “journey”, “live”, “discussions”


Default: False

Source: lms/djangoapps/learner_dashboard/config/waffle.py (line 8)

Waffle flag to enable new Program discussion experience in tab view for course. This flag is used to decide whether we need to render program data in “tab” view or simple view. In the new tab view, we have tabs like “journey”, “live”, “discussions”


Default: False

Source: lms/djangoapps/learner_home/waffle.py (line 13)

Waffle flag to enable to redirect user to learner home mfe


Default: False

Source: openedx/features/learner_profile/toggles.py (line 12)

Supports staged rollout of a new micro-frontend-based implementation of the profile page.


Default: False

Source: lms/djangoapps/learner_recommendations/toggles.py (line 10)

Enable recommendations on course about page


Default: False

Source: lms/djangoapps/learner_recommendations/toggles.py (line 24)

Waffle flag to enable to recommendation panel on learner dashboard


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 143)

This flag enables the use of the new core problem xblock editor


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 87)

This flag enables the use of the new core text xblock editor


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 106)

This flag enables the use of the new core video xblock editor


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 257)

This flag enables the use of the new studio advanced settings page mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 397)

This flag enables the use of the new studio course outline page mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 437)

This flag enables the use of the new studio course team page mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 217)

This flag enables the use of the new studio custom pages mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 337)

This flag enables the use of the new studio export page mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 357)

This flag enables the use of the new studio files and uploads page mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 277)

This flag enables the use of the new studio grading page mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 198)

This flag enables the use of the new studio home page mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 317)

This flag enables the use of the new studio import page mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 237)

This flag enables the use of the new studio schedule and details mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 417)

This flag enables the use of the new studio course outline page mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 297)

This flag enables the use of the new studio updates page mfe


Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 377)

This flag enables the use of the new video uploads page mfe


Default: False

Source: openedx/core/djangoapps/notifications/config/waffle.py (line 10)

Waffle flag to enable the Notifications feature


Default: False

Source: openedx/core/djangoapps/util/waffle.py (line 8)

Displays the maintenance warning, when active.


Default: False

Source: openedx/core/djangoapps/user_api/accounts/toggles.py (line 9)

Supports staged rollout of a new micro-frontend-based implementation of the order history page.


Default: False

Source: openedx/core/djangoapps/user_authn/views/register.py (line 111)

Enable verbose logging of registration failure messages


Default: True

Source: lms/djangoapps/bulk_email/models.py (line 477)

If the flag is enabled, course-specific authorization is required, and the course_id is either not provided or not authorized, the feature is not available.


Default: False

Source: openedx/core/djangoapps/schedules/config.py (line 13)

Enable debug level of logging for schedules messages.


Default: False

Source: common/djangoapps/student/admin.py (line 53)

This toggle will enable the rendering of the admin view of the CourseEnrollment model.


Default: False

Source: common/djangoapps/student/toggles.py (line 44)

Supports rollout of a POC for 2U recommendations.


Default: False

Source: common/djangoapps/student/toggles.py (line 9)

Supports rollout of a POC for amplitude recommendations.


Default: False

Source: common/djangoapps/student/toggles.py (line 61)

Enable course enrollment email template


Default: False

Source: common/djangoapps/student/toggles.py (line 26)

Supports showing fallback recommendation in case of error on amplitude side. Currently, fallback recommendations are picked from settings.GENERAL_RECOMMENDATIONS.


Default: False

Source: cms/djangoapps/contentstore/config/waffle.py (line 44)

Waffle flag to enable custom pacing input for Personalized Learner Schedule (PLS).


Default: False

Source: lms/djangoapps/teams/waffle.py (line 8)

Waffle flag to enable teams app for a course


Default: False

Source: common/djangoapps/third_party_auth/toggles.py (line 9)

Enable User ID matching while apple migration is in process


Default: False

Source: openedx/core/djangoapps/user_authn/config/waffle.py (line 10)

When enabled, users must be sign in using their allowed domain SSO account. This includes sign- ins to the Django admin dashboard at “/admin”.


Default: False

Source: openedx/core/djangoapps/user_authn/config/waffle.py (line 24)

When enabled, user password’s vulnerability would be checked via pwned password database


Default: False

Source: lms/djangoapps/instructor/toggles.py (line 21)

Supports staged rollout to improved is_small_course method.


Default: False

Source: lms/djangoapps/verify_student/toggles.py (line 10)

Supports staged rollout to students for a new email templates implementation for ID verification.


Default: False

Source: openedx/core/djangoapps/video_config/toggles.py (line 8)

Gates access to the public social sharing video feature.


Default: False

Source: openedx/core/djangoapps/video_pipeline/config/waffle.py (line 14)

Waffle flag telling whether youtube is deprecated. When enabled, videos are no longer uploaded to YouTube as part of the video pipeline.


Default: False

Source: openedx/core/djangoapps/video_pipeline/config/waffle.py (line 24)

When enabled, use Multi-Factor Authentication (MFA) for authenticating to AWS. These short- lived access tokens are well suited for development (probably?). [At the time of annotation, the exact consequences of enabling this feature toggle are uncertain.]