Skip to main content
Skip to main content


Version 1.7.0 of Medusa introduces a breaking change in the CustomerService.


In this new version, the method retrieveByEmail in the Customer Service has been deprecated in favor of other methods. Read the actions required below to learn which methods to use instead.

In addition, after introducing the Claim Order feature, this version of Medusa introduces changes in the database that allows two customers having the same email based on the value of the has_account field. This change requires running migrations after the update.

Actions Required

Run Migrations

Run the following command to run migrations:

npx medusa migrations run

Change Used Methods

Instead of using customerService.retrieveByEmail, you should now use the methods customerService.retrieveRegisteredByEmail or customerService.retrieveUnregisteredByEmail.

The customerService.retrieveRegisteredByEmail method allows you to retrieve a registered customer by email:


On the other hand, the retrieveUnregisteredByEmail method allows to retrieve guest customers by email:


To retrieve a customer by email regardless of whether they are registered or not, you can use the customerService.list method instead:

email: "",
Was this section helpful?