Sign up flow when "must approve users" is configured

:information_source: See also: Configure Discourse for a closed or private community

A Discourse site may be configured to require that new users are approved before they can log in. This is most often used for private communities, but may also be used for public communities that simply wish to put limitations on who can join and participate in discussions.


  1. Check the must_approve_users site setting so that users can “apply” to join the community

  1. (Optional) Check the login_required site setting if you want to ensure that your community is set to private. This will prevent anonymous users from viewing the content of your forum.

Signup flow

With the above configuration, here’s what the sign up flow looks like for a user joining your community:

  1. User visits the forum and presses the Sign Up button (Screenshot below illustrates login_required enabled).

  2. The user enters their account details and receives an activation e-mail in their inbox. After e-mail activation, they will see the following message on the forum:

    Welcome to Discourse!

    A moderator must manually approve your new account before you can access this forum. You’ll get an email when your account is approved!

    If they attempt to log in at this point they will see a message on the login modal that says:

    Your account hasn’t been approved yet. You will be notified by email when you are ready to log in.

  3. Moderators will be immediately notified of pending user approvals through on-site notifications notification. If the request remains in the review queue long enough without being addressed, a reminder email will be sent out to all users with full Moderator status. The reminder email background job (PendingUsersReminder) runs every hour, but will be delayed according the pending users reminder delay site setting.

  4. Once approved by a staff member, users get an e-mail that lets them know that they’ve been approved.

Last edited by @martin 2024-06-11T06:49:24Z

Check documentPerform check on document: