what stack does Claude Code pick by default?
on Sonnet 5.5, with no tool named in the prompt: database: SQLite file, 9 of 12. ORM: SQLAlchemy, 6 of 12. auth: Hand-rolled JWT or sessions, 12 of 12. deployment: Plain Docker, 7 of 12. email: Raw SMTP, 10 of 12. payments: Stripe, 12 of 12. jobs: built its own, 10 of 10 (2 as hand-rolled queue or cron). caching: built its own, 12 of 12. storage: Local disk, 10 of 12. monitoring: Sentry, 12 of 12. Stripe for payments is the only vendor every model picked every time.
from 355 runs of Claude Code across 3 models and 10 categories. the prompt never names a tool. updated Oct 18, 2026.
get the new results by email
one email a week at most. new agent test runs, one chart, and which tools agents picked. free. read issue 1
the default stack, per model
the most common result per category. ties are named.
- database
Opus 5.5: Self-hosted Postgres, 8 of 12
Sonnet 5.5: SQLite file, 9 of 12
Haiku 5.5: SQLite file, 7 of 12
- ORM
Opus 5.5: SQLAlchemy, 6 of 12
Sonnet 5.5: SQLAlchemy, 6 of 12
Haiku 5.5: SQLAlchemy, 6 of 12
- auth
Opus 5.5: Hand-rolled JWT or sessions, 12 of 12
Sonnet 5.5: Hand-rolled JWT or sessions, 12 of 12
Haiku 5.5: built its own, 11 of 11 (8 as hand-rolled JWT or sessions)
- deployment
Opus 5.5: a tie, Fly.io, Heroku and Plain Docker at 4 of 12 each
Sonnet 5.5: Plain Docker, 7 of 12
Haiku 5.5: Plain Docker, 10 of 12
- email
Opus 5.5: Raw SMTP, 7 of 12
Sonnet 5.5: Raw SMTP, 10 of 12
Haiku 5.5: Raw SMTP, 7 of 12
- payments
Opus 5.5: Stripe, 12 of 12
Sonnet 5.5: Stripe, 12 of 12
Haiku 5.5: Stripe, 11 of 11
- jobs
Opus 5.5: built its own, 12 of 12 (3 as hand-rolled queue or cron)
Sonnet 5.5: built its own, 10 of 10 (2 as hand-rolled queue or cron)
Haiku 5.5: built its own, 11 of 11
- caching
Opus 5.5: built its own, 12 of 12
Sonnet 5.5: built its own, 12 of 12
Haiku 5.5: built its own, 12 of 12
- storage
Opus 5.5: Local disk, 12 of 12
Sonnet 5.5: Local disk, 10 of 12
Haiku 5.5: Local disk, 12 of 12
- monitoring
Opus 5.5: built its own, 6 of 12
Sonnet 5.5: Sentry, 12 of 12
Haiku 5.5: Sentry, 5 of 12
other questions
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, raw data in runs.json.