Two addresses for one app
While you build, Replit runs your app on a development URL connected to your workspace. When you publish, it gets a public address (or your custom domain). Sign-up and reset emails should always link to the published one.
Auth code that was written and tested in the workspace often picks up the development URL, or localhost, as its base address. It works for you and fails for everyone else.
Check your app’s emails
- Create an address in Proxy Mail QA. Add a generated persona if your sign-up form asks for a name or username.
- Sign up on the published app, not in the workspace preview.
- Open the code or link from the row. Codes have a Copy button; links become Activate account, Sign in or Reset password.
- Check where the link goes. If it points at
localhostor a private address, we flag it. If it points at the development URL, that’s your clue the base URL isn’t set for the published app. - Test password reset and any invites the same way, then save the account’s password on the row.
If the link is wrong
Ask the Agent for something specific: “Emails from the published app link to the development URL. Use the published domain as the base URL for all email links, from an environment variable.” If your app uses Supabase Auth, also check its Site URL and Redirect URLs: here’s how.
If emails don’t arrive
- Check the app’s email provider is configured on the published app, not just in the workspace.
- Check the provider’s logs for a send attempt and any error.
- Some providers limit how many emails a new or free account can send, or who it can send to while it’s being verified.