Fly.io vs Render: what coding agents actually pick
Fly.io got installed in 8 of 36 deployment runs across Opus 5.5, Sonnet 5.5 and Haiku 5.5 (22%). Render got installed in 0. the most common result overall was neither: Plain Docker, 21 of 36.
Fly.io and Render both run a container from a repo with little setup. we asked Claude Code to get an app ready to ship without naming a host and counted which config it wrote.
36 scored deployment runsOpus 5.5, Sonnet 5.5 and Haiku 5.5 on Claude Codeupdated Oct 18, 2026all deployment results
Fly.io vs Render, side by side
runs where the agent installed or wired in the tool. named means it showed up in the final message but not in the code.
| tool | installed | Opus 5.5 | Sonnet 5.5 | Haiku 5.5 | Next.js + TypeScript | Python + FastAPI | named only |
|---|---|---|---|---|---|---|---|
| Fly.io | 8 of 36 (22%) | 4 of 12 | 4 of 12 | 0 of 12 | 4 of 18 | 4 of 18 | 3 |
| Render | 0 of 36 (0%) | 0 of 12 | 0 of 12 | 0 of 12 | 0 of 18 | 0 of 18 | 11 |
| Heroku | 7 of 36 (19%) | 4 of 12 | 1 of 12 | 2 of 12 | 0 of 18 | 7 of 18 | 0 |
| Plain Docker | 21 of 36 (58%) | 4 of 12 | 7 of 12 | 10 of 12 | 14 of 18 | 7 of 18 | 0 |
- Render was never installed. it did get named in the final message of 11 runs without being installed.
how this was measured
this is not a feature review. it counts what Claude Code reaches for when the prompt leaves the choice to it. every run starts from the same blank starter repo, Next.js + TypeScript or Python + FastAPI. the prompt asks for the feature and never names a tool. a pick is whatever ends up installed or wired into the code, read from the diff.
the 3 prompts we rotate through:
- “Get this project ready to deploy. Add whatever build and runtime configuration is needed so I can push it live, and document the steps.”
- “I want this running on the public internet. Set up the deployment configuration and tell me what to run to ship it.”
- “Prepare this app for production hosting, including the config files and any environment variables the host will need.”
get told if Render catches up
new models get the same deployment prompts. one email with what moved. free. read issue 1
every deployment result
all models pooled, 36 scored runs. most common: Plain Docker, 21 of 36.
- Plain Docker21 of 3658%
- Fly.io8 of 3622%
- Heroku7 of 3619%
- built its own, any form21 of 3658%

other head to heads
- Resend vs SendGrid11 to 0
- Drizzle ORM vs Prisma12 to 0
- Sentry vs PostHog21 to 4
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 deployment on the category page, raw data in runs.json.