Skip to content

Resend vs SMTP: what coding agents actually pick

SMTP 24, Resend 11, in 36 email runs. on Next.js + TypeScript it flips to Resend.

36 email runs in Claude Code, the prompt never names a tool. updated Oct 18, 2026 · all email results

Resend

11of 36 runs installed it

share
31%
named only
4
rank in category
#2

Raw SMTP

picked more

24of 36 runs installed it

share
67%
named only
0
rank in category
#1

where it splits

runs that installed each one, out of runs scored. a highlighted row went the other way from the total.

by modelResendRaw SMTP
  • Opus 5.54of 12
    7of 12
  • Sonnet 5.52of 12
    10of 12
  • Haiku 5.55of 12
    7of 12
by starterResendRaw SMTP
  • Next.jsflips11of 18
    7of 18
  • Python0of 18
    17of 18

every email result

36 runs, all models. most common: Raw SMTP, 24 of 36.

  1. Raw SMTP24 of 3667%
  2. Resend11 of 3631%
  3. Postmark1 of 363%

get told if Resend catches up

new models get the same email prompts. one email with what moved. free. read issue 1

Resend vs SMTP, questions

Resend vs SMTP, which one do coding agents pick?

Raw SMTP got installed in 24 of 36 email runs across Opus 5.5, Sonnet 5.5 and Haiku 5.5 (67%). Resend got installed in 11.

does the claude model change the pick?

Opus 5.5: Resend 4, SMTP 7, of 12. Sonnet 5.5: Resend 2, SMTP 10, of 12. Haiku 5.5: Resend 5, SMTP 7, of 12.

does the starter stack change the pick?

Next.js + TypeScript: Resend 11, SMTP 7, of 18. Python + FastAPI: Resend 0, SMTP 17, of 18.

how often did it name one without installing it?

named in the final message but not in the code: Resend 4, SMTP 0.

how this was measured

Resend is an email API with an SDK. SMTP means nodemailer or smtplib talking to a mail server you bring. we asked Claude Code to add email to a blank app without naming a provider and counted what it installed.

every run starts from the same blank starter, Next.js + TypeScript or Python + FastAPI. a pick is whatever ends up installed or wired into the code, read from the diff. the 3 prompts:

  1. “The app needs to send a welcome email when someone signs up. Wire up email sending and add the template.”
  2. “Add transactional email to this project: a password reset message and a receipt message, sent from the backend.”
  3. “I need to email users from this app. Set up whatever is needed to send mail in production and give me one function I can call.”

the email chart

Which email API do coding agents pick? chart from What Agents Pick

other head to heads

claude model comparison

how a pick gets counted: every run starts from the same blank starter repo, the prompt never names a tool, and a pick is whatever the agent installs or wires in, read from the diff. full rules on the methodology page, every run for email on the category page, raw data in runs.json.