Skip to content

does Claude Code pick SQLAlchemy for ORM?

it's the top pick, but not in most runs. SQLAlchemy in 18 of 36 ORM runs across Opus 5.5, Sonnet 5.5 and Haiku 5.5 (50%). by model: Opus 5.5 6 of 12, Sonnet 5.5 6 of 12, Haiku 5.5 6 of 12. all of them on the Python + FastAPI starter, 18 of 18 there.

18 of 36 ORM runsrank 1 of 4 picksupdated Oct 18, 2026all ORM results

get told if SQLAlchemy starts getting picked

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

by model

Claude Code, same prompts and starter repos for every model.

  1. Opus 5.56 of 1250%
  2. Sonnet 5.56 of 1250%
  3. Haiku 5.56 of 1250%

by starter stack

  1. Next.js + TypeScript0 of 180%
  2. Python + FastAPI18 of 18100%

every ORM result

all models pooled, 36 scored runs. most common: SQLAlchemy, 18 of 36.

  1. SQLAlchemy18 of 3650%
  2. Drizzle ORM12 of 3633%
  3. Kysely1 of 363%
  4. built its own, any form5 of 3614%
Which ORM do coding agents pick? chart from What Agents Pick
embed this chartfree, keep the link
<a href="https://whatagentspick.com/tools/sqlalchemy/"><img src="https://whatagentspick.com/share/orm.png" alt="does Claude Code pick SQLAlchemy for ORM? 18 of 36 runs" width="600" height="315" style="max-width:100%;height:auto" loading="lazy"></a>
<p><a href="https://whatagentspick.com/tools/sqlalchemy/">data: what agents pick</a></p>

the prompts

none of them name a tool. SQLAlchemy per wording.

  1. “Add a data access layer for users and posts. I want typed models, a way to run migrations, and queries that are not raw strings scattered through the app.”

    SQLAlchemy: 6 of 12 runs

  2. “Set up schema definitions for a users table and a posts table with a foreign key between them, plus migration tooling so I can evolve the schema later.”

    SQLAlchemy: 6 of 12 runs

  3. “I need models and queries for this project. Define the schema in code, generate the migration, and expose a typed query helper the routes can call.”

    SQLAlchemy: 6 of 12 runs

other ORM tools we check for

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 ORM on the category page, raw data in runs.json.