verifywith

How can an AI agent receive an SMS verification code

An AI agent can receive a verification code four ways: rent a number through an API or MCP server, use a number of its own from a telephony provider, forward texts from its owner’s phone, or pause and hand the step back to the owner. The first two work unattended with no phone. Forwarding needs the owner’s phone on; handing back needs the owner every time. On any route, the service can still refuse the number.

Checked by VerifyWith on

A small robot arm holding a message card

The four routes side by side

Needs a phoneNeeds a human each timeCostWorks unattendedWho holds the number
Rent a number through an API or MCP serverNoNo, after one approvalA price per rental periodYesThe service, rented to the owner
A dedicated number from a telephony providerNoNoSet by the provider, while you keep itYes, once builtThe owner’s provider account
Forward texts from the owner’s phoneYes, switched onNo, once set upThe owner’s phone planWhile the phone forwardsThe owner
Hand the step back to the ownerYesYesNothing extraNoThe owner

What each route involves

Renting a number through an API or MCP server

The agent calls a tool that gets a number, puts the number into the site, then calls a tool that waits for the text and returns the code. The owner connects the agent once and sets what it may spend. There is no phone and no code to write when the agent already speaks MCP. The catch: the number is rented, so it ends when the rental ends, and the site may refuse rented numbers.

A dedicated number from a telephony provider

A developer opens an account with a provider that sells phone numbers, buys one, and has its incoming texts delivered to their own server, where the agent reads them. The number stays on the owner’s account for as long as they pay for it. The catch is the build: an account, a webhook, code to pull the code out of the text, and the provider’s charges for a number that may sit idle between codes.

Forwarding texts from the owner’s phone

A forwarding app or phone setting copies incoming texts to somewhere the agent can read. The site then gets the owner’s own number, which is what a service that wants the account holder’s number expects. The catch: the phone has to be on and forwarding, the forwarder can read every text it passes on, bank codes included, and the owner’s personal number is now on file with the site.

Handing the step back to the owner

The agent stops at the phone field and asks the owner to finish. It costs nothing and needs nothing set up, and it is the right route for accounts that matter most, such as a bank or a main email address. It is the only route where the agent can’t carry on alone.

Services that refuse some kinds of numbers

Many services check a number before they send a code, and some say in their own help pages which numbers they refuse. This holds on every route, because what the service judges is the number, not how the agent reads it.

  • Claude. Anthropic’s help page says “you cannot use VoIP numbers, Google Voice, phone numbers created using apps, landlines”, allows at most three Claude accounts per number, and asks for a number you will have access to long term.
  • Discord. Its help page lists “VOIP, Burner, or Landline numbers” as numbers that cannot be used, and says a number can’t already be on another Discord account.
  • Microsoft. Its support page says VoIP numbers can’t be added as a way to sign in or get verification codes.

VerifyWith numbers are non-VoIP US numbers, which is the kind those VoIP rules are written to allow. That does not decide acceptance: services also refuse a number used on too many accounts, a number from the wrong country, or one their own risk checks dislike. So we don’t promise that any particular service, Anthropic’s and OpenAI’s own sign-ups included, will send its code. Which services say what is collected in which apps accept virtual numbers.

A name badge beside a small robot arm
The agent does the work. The account belongs to the person it works for.

Whose account it is

An agent should only verify accounts that belong to its owner. Signing up for services the owner isn’t entitled to use, creating accounts in bulk or verifying accounts for other people is outside every route here, and outside our acceptable use policy.

Read the service’s terms before handing the step to an agent. A service’s terms may require the number to be the account holder’s own, and some, like Claude’s help page, ask for a number you will keep. A number rented for a day suits a one-time code; an account that will text the number again at login needs a longer rental, the owner’s own number, or a switch to another way of signing in before the rental ends.

Where VerifyWith fits, and where it doesn’t

VerifyWith is the first route: a private US number rented through a REST API or an MCP server, from $3.99 for a day, bought on the owner’s saved card inside limits the owner sets. It suits:

  • An agent finishing a sign-up for its owner without the owner’s phone or personal number.
  • An owner who wants a cap on what the agent spends, and a link to approve when the bank asks.
  • A developer testing their own sign-up flow end to end (see testing OTP with a real number).

It doesn’t suit:

  • A code sent by voice call, or anything that needs the agent to send a text: the number only receives texts.
  • A number outside the US.
  • An account meant to last for years on the same number with no other way to sign in.
  • A bank, a government service or a main email account: hand those back to the owner.

To set it up in Claude, Claude Code or Cursor, follow give Claude a phone number.

Questions people ask

Can an AI agent complete phone verification without a human?
Yes, if it has a number it can read: a rented number or a dedicated provider number lets it receive the text and read the code unattended. The owner still approves the setup and its spending once, and the service can still refuse the number.
How do I keep a human in the loop for payments?
Give the agent spending limits rather than a card. On our server the owner sets the most per number and per 24 hours, and when the bank asks to confirm a payment the agent passes the owner a link instead of paying.
Is it against an app’s terms to let an AI agent verify my account?
It depends on the app. An app’s terms may require the number to be your own, so read them first, and never use an agent for accounts that aren’t yours.
Can an agent use a free receive-SMS website for the code?
It shouldn’t. Those numbers are shared and their texts are shown publicly, so anyone can read the code your agent is waiting for.
Why doesn’t the code reach my agent?
The service may have refused the number and never sent a text, or sent the code by voice call, which a receive-only number can’t take. The agent should ask for one resend, then stop and tell its owner rather than trying number after number.

Sources

Read on November 13, 2026. Prices and policies change; if something here is out of date, write to [email protected] and we’ll correct it.

  1. Claude Help Center: Why do I need to verify my phone number?
  2. Discord Support: How to verify your Discord account
  3. Microsoft Support: troubleshooting verification code issues