---
title: "Test sign-up emails in apps built with Claude Code · Proxy Mail QA"
description: "Claude Code can write your whole auth flow. Check its confirmation, magic-link and password-reset emails really work, from localhost to staging."
url: https://proxymail.qa/built-with/claude-code
---

1. [Home](https://proxymail.qa/)
2. [AI app builders](https://proxymail.qa/built-with)

# Testing auth emails in apps you build with Claude Code

Claude Code can scaffold sign-up, login, email verification and password reset in one session. The tests it writes usually stub out the email, so the real path, from your email provider to the link a user clicks, is the part nobody has run.

## Add to Claude Code

[ Proxy Mail QA pluginThe MCP server and eight skills: two commands, on GitHub (opens in a new tab)](https://github.com/aaquib90/proxymail-qa-plugin#claude-code)

Claude Code CLI

`claude mcp add --transport http proxymail-qa https://api.proxymail.qa/mcp`

Then type /mcp in Claude Code, choose proxymail-qa and Authenticate: you sign in to Proxy Mail QA in your browser. Free, with no API key to copy.

[Other ways to connect ](https://proxymail.qa/built-with/claude-code#let-claude-code-check-the-email-itself)

Updated 29 October 2026

## Where email fits in a Claude Code workflow

Claude Code is Anthropic’s coding agent. It works in your terminal, your editor and the browser, reads your codebase and makes changes across it. Ask for “email and password sign-up with verification” and you’ll get the forms, the API calls and the templates, wired to whatever you use: Supabase Auth, Clerk, Auth.js, Firebase or your own backend.

What it can’t easily do is receive the email. Unit tests mock the sender, and end-to-end tests often skip verification. So the first real confirmation email is frequently sent to the first real user.

## Which login will it build?

Whichever you ask for. Most apps end up on Supabase Auth, Clerk, Firebase Authentication, Auth.js or Better Auth, and each sends different emails: Clerk sends a code by default, Firebase a link, and Auth.js only magic links unless you build the rest. Tell Claude Code the methods you want, such as “email and password with a confirmation code, plus Google”, then test each email it sends. [Which emails each login service sends](https://proxymail.qa/built-with/login-methods#login-services-coding-agents-use).

## A five-minute end-to-end check

1. **Create an address** in Proxy Mail QA. Make a few at once if you want one per scenario, such as new user, invited user and reset.
2. **Run your app** (`npm run dev` or similar) and sign up with the address.
3. **Watch the code or link arrive.** It shows up on the address’s row within seconds, with a **Copy** button for a code or **Open link** and **Copy link** buttons for a link.
4. **Finish the flow.** Paste the code into your app, or click the link. If the link points at `localhost:3000` we flag it. That’s expected while you develop locally: choose **This is my dev environment** and it won’t be flagged again in that project.
5. **Repeat on staging before you ship.** Now a localhost link is a real bug, and the most common one in generated auth code. [Here’s how to fix it](https://proxymail.qa/solve/localhost-links).

## Let Claude Code check the email itself

The Proxy Mail QA plugin adds the MCP server and eight skills that walk Claude Code through the job, from testing a sign-up end to end to finding out why an email didn’t arrive. In Claude Code, run these two commands, one at a time:

In Claude Code

```text
/plugin marketplace add aaquib90/proxymail-qa-plugin
/plugin install proxymail-qa@proxymail-qa

```

Then type `/mcp`, choose **proxymail-qa** and **Authenticate**. Your browser opens to sign in to Proxy Mail QA and choose the project Claude Code may use, with no API key to copy. For the MCP server on its own, run `claude mcp add --transport http proxymail-qa https://api.proxymail.qa/mcp` in a terminal instead and authenticate the same way; to use an API key, see [MCP server setup](https://proxymail.qa/docs/mcp#claude-code).

Then ask in plain words: “Sign up on localhost:3000 with a new Proxy Mail QA address and confirm the email.” Claude Code creates the address, fills in your form, waits for the code or link and finishes the sign-up. It gets only the code or link, never the email’s text.

## Hand Claude Code the evidence

When something is off, paste what you saw straight into your session. Specific beats vague:

- “The confirmation email on staging links to `http://localhost:3000/auth/confirm`. Build the redirect URL from an environment variable and set it per environment.”
- “The reset email says the link lasts 60 minutes, but it stops working after 5\. Find where the expiry is set.”
- “Two verification emails arrive for one sign-up. Find the duplicate send.”

The inbox view shows each email’s sender, subject, full content and every link found in it, which is usually all the agent needs.

Before a release, ask for an inventory of everything the app sends:

Prompt

```text
List every email this app sends: sign-up confirmation, magic link, password reset, invite and email change. For each, tell me what triggers it, which URL its link points to, and how long its link or code stays valid. Flag anything that uses localhost.

```

## Tips

- **Tag your runs.** Mail to `k3f9q2m8x7aa+run2@mailclub.dev` arrives in the same inbox with the tag `run2` shown, so repeated runs stay distinguishable.
- **Keep the password with the account.** Save the password you signed up with on the address, or use **Generate a test password** for one that passes common rules.
- **Group by project.** One project per app you’re building, with its staging URL linked and an optional prefix so its addresses are easy to spot.

## Try it on your next sign-up test

Free plan, no credit card. Create an address and watch the code or link arrive.

[Create a free account](https://app.proxymail.qa/?mode=signup&from=claude-code)

## Questions

### Do I need to change my app to use Proxy Mail QA?

No. Sign up in your app with a Proxy Mail QA address, exactly as a user would. Whatever sends your email (Supabase Auth, Clerk, Auth.js with Resend, Firebase, your own SMTP) delivers to it like any other inbox, as long as it can send to any address. A provider in sandbox or test mode only sends to addresses you've verified: see proxymail.qa/troubleshooting.

### Can Claude Code read the verification code itself?

Yes. Connect the Proxy Mail QA MCP server, in one prompt with a browser sign-in or with an API key, and Claude Code can create an address, sign up and wait for the code or link itself. It gets only the code or link, never the email's text. Setup takes one command: see the API and MCP guide at proxymail.qa/docs/api.

### My local Supabase stack doesn't send real email. Can I still use this?

The Supabase CLI catches auth email locally in its own mail viewer, which is fine for local work. Use Proxy Mail QA when your app sends real email: a hosted Supabase project, staging, or a mail provider such as Resend, SendGrid or Postmark.

### What if my auth provider blocks disposable email domains?

Create the address on one of our other domains, enable.li or valida.te.it, instead, or allow mailclub.dev in your staging or development configuration. Receiving on your own domain is planned for later.

## Related guides

- [LovableWhich Lovable Cloud logins send email, the Site URL and sender settings, and a check before you launch.](https://proxymail.qa/built-with/lovable)
- [ReplitReplit Auth, Clerk Auth or your own: which send email, and how to test each on the published app.](https://proxymail.qa/built-with/replit)
- [BoltTurn on email confirmation, fix the localhost Site URL and test every auth email before you publish.](https://proxymail.qa/built-with/bolt)
- [Base44Test the sign-up code, password reset and invites, and every user role, with a test account per role.](https://proxymail.qa/built-with/base44)
- [v0Set Supabase’s Site URL and redirects for Vercel deployments, or move Clerk to production, then test every login email.](https://proxymail.qa/built-with/v0)
- [OpenAI CodexRun the real email flow once before you merge a Codex change that touches sign-up or login.](https://proxymail.qa/built-with/codex)
- [QoderCheck the real sign-up, code and reset emails after the agent changes your auth code, or let it check them itself.](https://proxymail.qa/built-with/qoder)
- [CursorCheck the real sign-up, magic-link and reset emails after the agent changes your auth code.](https://proxymail.qa/built-with/cursor)
- [Google AntigravityKeep unverified Firebase users out, check authorized domains and the sender, and let the agent run the check.](https://proxymail.qa/built-with/antigravity)
- [Login methods explainedEmail, codes, magic links, Google and Apple buttons, phone and SSO: what each sends, what breaks and how to test it.](https://proxymail.qa/built-with/login-methods)

[See every email testing problem we solve](https://proxymail.qa/solve)

Claude Code is a product of Anthropic. Proxy Mail QA is independent and isn’t affiliated with or endorsed by them.
