Impersonate a user and returning to admin user

:bookmark: This guide explains how to impersonate a user in Discourse and return to your admin account. This is useful when you need to troubleshoot issues faced by a specific user or verify their permissions.

:person_raising_hand: Required user level: Administrator

The admin can choose to impersonate another user when needed. This can be useful when a member is experiencing odd behavior or you need to check their permissions. Impersonating another user acts as if you are logged in as that user. This documentation will guide you through the process of impersonating a user as an admin and how to return to the admin account.

Impersonating a User

  1. Navigate to the Admin section of the sidebar and select Users.

  2. Find and select the profile of the user you want to impersonate.

  3. Click on Admin in the top right corner.

  4. At the bottom, select the Impersonate button
    image

Once you’ve impersonated the user, you are no longer logged in as an admin. You will experience the Discourse interface just as the user does.

Terminating the impersonation session

Method 1, good for infrequent use:

To stop impersonating and return to your admin account, simply log out from the impersonated user account and log back in as the admin.

:information_source: Logging in and impersonating in a private/incognito window prevents needing to log back in under your main browser session. Just close the incognito window and you’re good to go!

Method 2, better if you have a frequent need to impersonate:

As of August of 2025, the experimental, hidden site setting experimental_impersonation, when enabled, will create a banner at the top of the page with a clickable link that terminates the impersonation session and returns you to the Admin account from which you impersonated the user.

example banner

For self-hosted Discourse sites: enable this feature from the rails console with:
SiteSetting.experimental_impersonation=true
Hosted Discourse customers may contact support to enable this feature.

39 Likes

It might be worth noting that impersonating a user is not transparent – it creates a logged visit for that user, and resets any notification flags that are acted on. Probably best to communicate to any real user that it’s being done.

3 Likes

I also ran into this issue. Can we at least add a confirmation dialog on the Impersonate button? Currently it starts the impersonation right away without warning the user of the caveats, especially the one it creates a logged visit.

The other buttons in its vicinity (like Delete user) do have a confirmation dialog. As a user I would expect the Impersonate button to open a dialog just like the others.

image

5 Likes

I didn’t even note the lack of a confirmation dialog, but yeah, that would be a good place to warn that you’re about to become that user and leave tracks — not just poke around behind the scenes without impact.

4 Likes