How Does Forgot Password Work for Different Customer States in Shopify?

Topic summary

Behavior of the “Forgot Password” flow varies by customer account state in Shopify, as confirmed by testing (Dawn theme) and follow-up clarification.

Key behaviors:

  • Enabled: Password reset email is sent; customer can reset and log in.
  • Disabled: No reset email sent despite a generic success message; admin must enable the account first, then reset works.
  • Invited: Considered pending; customer must use the original invite link to accept and create a password before reset works.
  • Declined: Treated like disabled; customer cannot reset and needs to be reinvited (or enabled by admin) to proceed.

Important nuance:

  • Shopify/Liquid returns the same generic “email sent” message for non-enabled states, which can confuse customers.
  • There are no distinct error codes/messages exposed via Liquid to differentiate states.

Outcome and next steps:

  • Clarification accepted; functionality is working as designed.
  • Merchants may need custom handling (e.g., external logic/UI messaging) to provide clearer feedback or flows for disabled, invited, and declined states.
  • No platform change or resolution from Shopify indicated; discussion effectively resolved with guidance.
Summarized with AI on December 13. AI used: gpt-5.

Hello!

I have a question about the forgot password functionality in Shopify.

There are four account states: enabled, disabled, invited, and declined. I would like to know how the forgot password feature works in the Shopify theme for each of these states.

Here are my findings from testing with the Dawn theme:

  • Enabled state account: Password reset email is sent.

  • All other 3 states (disabled, invited, declined): Password reset email is not sent (although a message indicating the email will be sent is shown).

So, does this mean that customers in any state other than “enabled” need to receive an invite email, and can only set their password via the link in the email to be able to log in?

Hey @JT-Kang ,

Yes, your findings are correct regarding how Shopify handles the “Forgot Password” feature across different account states.

In Shopify, here’s how the “Forgot Password” functionality behaves for each account state:

  1. Enable:

-A password reset email is successfully sent, allowing the customer to reset their password and log in.

  1. Disabled:

-Shopify does not send a password reset email, even though the message suggests one will be sent. Disabled accounts require the store admin to manually enable the account before the customer can reset their password. Once enabled, they can use the “Forgot Password” feature.

  1. Invited:

-The customer is considered to be in a pending status, having received an invite email but not yet accepted it. In this state, they must complete the initial setup by following the link in their invitation email. Once they accept the invite and create a password, their account moves to the “enabled” state, and they can use the “Forgot Password” feature if needed in the future.

  1. Declined:

-Declined accounts cannot reset their password either, as the system treats them similarly to the “disabled” state. They would need to be reinvited by the store admin, after which they can accept the invitation and create a password.

So, customers in any state other than “enabled” indeed need an invitation email to set their password initially or be enabled by an admin if they’ve previously declined or have been disabled.

If I was able to help you, please don’t forget to Like and mark it as the Solution!
If you’re looking for expert help with customization or coding, I’d be delighted to support you. Please don’t hesitate to reach out via the email in my signature below—I’m here to help bring your vision to life!

Best Regard,
Rajat Sharma

1 Like

Thanks, @rajweb ,

Thank you for the detailed explanation.

The responses generated by Liquid are always the same, causing confusion among customers. It would be great if Shopify provided appropriate error codes for different situations.

However, it seems that this will have to be handled externally for now.

@JT-Kang ,

Thank you for your reply. I’m glad to hear that the solution worked well for you! If you’re looking for expert help with customization or coding, I’d be delighted to support you. Please don’t hesitate to reach out via the email in my signature below—I’m here to help bring your vision to life!