Which tool does an AI agent pick for a job?

Given a job and no product name, AI agents settled on one tool per category in 54 of 66 runs: Nodemailer for transactional email, GoatCounter for web analytics, Playwright for browser infrastructure and web scraping, EspoCRM for crm, SQLite for databases and Vikunja for project management. 22 of 80 runs got their pick working.

How often AI agents pick the same tool for a job. Transactional email: Nodemailer: 11 of 16, Web analytics: GoatCounter: 12 of 15, Browser infrastructure and web scraping: Playwright: 14 of 14, CRM: EspoCRM: 6 of 7, Databases: SQLite: 5 of 7, Project management: Vikunja: 6 of 7.

Share this card: Wide PNG · Tall PNG

Runs 20 Oct 2026 to 31 Oct 202680 runsStep FindSubject Tool choiceMarkdown

What we found.

  • In each of the six categories with a tool picked by 5 runs or more, one tool took 69% to 100% of the runs.
  • 62 of 80 runs named their pick from memory, before any search result or page they read showed it.
  • 57 of 80 runs searched the web or a registry. None of the 80 looked in an MCP registry.
  • 66 of 80 runs installed their pick, and 22 got it working.
  • Transactional email: Nodemailer, a library, was picked in 11 of 16 runs, and 3 of 16 runs got their pick working.
  • Web analytics: GoatCounter, a hosted service, was picked in 12 of 15 runs, and 3 of 15 runs got their pick working.
  • Browser infrastructure and web scraping: Playwright, a library, was picked in 14 of 14 runs, and 11 of 14 runs got their pick working.
  • CRM: EspoCRM, a hosted service, was picked in 6 of 7 runs, and 0 of 7 runs got their pick working.
  • Databases: SQLite, a library, was picked in 5 of 7 runs, and 5 of 7 runs got their pick working.
  • Project management: Vikunja, a hosted service, was picked in 6 of 7 runs, and 0 of 7 runs got their pick working.

Each category's runs, step by step

Each category's runs, step by step
Transactional email, 16 runsWeb analytics, 15 runsBrowser infrastructure and web scraping, 14 runsCRM, 7 runsCustomer support, 7 runsDatabases, 7 runsForms, 7 runsProject management, 7 runs
Top toolNodemailerGoatCounterPlaywrightEspoCRMNone picked by 5 runsSQLiteNone picked by 5 runsVikunja
Named its pick from memory12 of 16 (75%)8 of 15 (53%)14 of 14 (100%)4 of 7 (57%)6 of 7 (86%)7 of 7 (100%)5 of 7 (71%)6 of 7 (86%)
Searched the web or a registry14 of 16 (88%)9 of 15 (60%)7 of 14 (50%)7 of 7 (100%)4 of 7 (57%)4 of 7 (57%)6 of 7 (86%)6 of 7 (86%)
Picked a tool15 of 16 (94%)15 of 15 (100%)14 of 14 (100%)7 of 7 (100%)7 of 7 (100%)7 of 7 (100%)6 of 7 (86%)7 of 7 (100%)
Picked the top tool11 of 16 (69%)12 of 15 (80%)14 of 14 (100%)6 of 7 (86%)–5 of 7 (71%)–6 of 7 (86%)
Installed its pick13 of 16 (81%)15 of 15 (100%)14 of 14 (100%)2 of 7 (29%)6 of 7 (86%)7 of 7 (100%)6 of 7 (86%)3 of 7 (43%)
Called it7 of 16 (44%)15 of 15 (100%)14 of 14 (100%)2 of 7 (29%)5 of 7 (71%)5 of 7 (71%)6 of 7 (86%)1 of 7 (14%)
Got it working3 of 16 (19%)3 of 15 (20%)11 of 14 (79%)0 of 7 (0%)0 of 7 (0%)5 of 7 (71%)0 of 7 (0%)0 of 7 (0%)

Transactional email: Nodemailer

Transactional email: Nodemailer
Of 16 runsRunsShare
Named its pick from memory12 of 1675%
Searched the web or a registry14 of 1688%
Picked a tool15 of 1694%
Picked the top tool11 of 1669%
Installed its pick13 of 1681%
Called it7 of 1644%
Got it working3 of 1619%

Web analytics: GoatCounter

Web analytics: GoatCounter
Of 15 runsRunsShare
Named its pick from memory8 of 1553%
Searched the web or a registry9 of 1560%
Picked a tool15 of 15100%
Picked the top tool12 of 1580%
Installed its pick15 of 15100%
Called it15 of 15100%
Got it working3 of 1520%

Browser infrastructure and web scraping: Playwright

Browser infrastructure and web scraping: Playwright
Of 14 runsRunsShare
Named its pick from memory14 of 14100%
Searched the web or a registry7 of 1450%
Picked a tool14 of 14100%
Picked the top tool14 of 14100%
Installed its pick14 of 14100%
Called it14 of 14100%
Got it working11 of 1479%

CRM: EspoCRM

CRM: EspoCRM
Of 7 runsRunsShare
Named its pick from memory4 of 757%
Searched the web or a registry7 of 7100%
Picked a tool7 of 7100%
Picked the top tool6 of 786%
Installed its pick2 of 729%
Called it2 of 729%
Got it working0 of 70%

Customer support

Customer support
Of 7 runsRunsShare
Named its pick from memory6 of 786%
Searched the web or a registry4 of 757%
Picked a tool7 of 7100%
Installed its pick6 of 786%
Called it5 of 771%
Got it working0 of 70%

Databases: SQLite

Databases: SQLite
Of 7 runsRunsShare
Named its pick from memory7 of 7100%
Searched the web or a registry4 of 757%
Picked a tool7 of 7100%
Picked the top tool5 of 771%
Installed its pick7 of 7100%
Called it5 of 771%
Got it working5 of 771%

Forms

Forms
Of 7 runsRunsShare
Named its pick from memory5 of 771%
Searched the web or a registry6 of 786%
Picked a tool6 of 786%
Installed its pick6 of 786%
Called it6 of 786%
Got it working0 of 70%

Project management: Vikunja

Project management: Vikunja
Of 7 runsRunsShare
Named its pick from memory6 of 786%
Searched the web or a registry6 of 786%
Picked a tool7 of 7100%
Picked the top tool6 of 786%
Installed its pick3 of 743%
Called it1 of 714%
Got it working0 of 70%

By agent, where an agent has 5 runs or more

By agent, where an agent has 5 runs or more
CategoryAgentRunsPicked the top tool
Transactional emailClaude Sonnet, plain coding agent98 of 9
Transactional emailClaude Sonnet, tester's brief63 of 6
Web analyticsClaude Sonnet, plain coding agent109 of 10
Browser infrastructure and web scrapingClaude Sonnet, plain coding agent88 of 8
Browser infrastructure and web scrapingClaude Sonnet, tester's brief55 of 5
CRMClaude Sonnet, plain coding agent76 of 7
DatabasesClaude Sonnet, plain coding agent75 of 7
Project managementClaude Sonnet, plain coding agent76 of 7

Transactional email: Nodemailer by agent

Transactional email: Nodemailer by agent
AgentRunsPicked it
Claude Sonnet, plain coding agent98 of 9
Claude Sonnet, tester's brief63 of 6

Web analytics: GoatCounter by agent

Web analytics: GoatCounter by agent
AgentRunsPicked it
Claude Sonnet, plain coding agent109 of 10

Browser infrastructure and web scraping: Playwright by agent

Browser infrastructure and web scraping: Playwright by agent
AgentRunsPicked it
Claude Sonnet, plain coding agent88 of 8
Claude Sonnet, tester's brief55 of 5

CRM: EspoCRM by agent

CRM: EspoCRM by agent
AgentRunsPicked it
Claude Sonnet, plain coding agent76 of 7

Databases: SQLite by agent

Databases: SQLite by agent
AgentRunsPicked it
Claude Sonnet, plain coding agent75 of 7

Project management: Vikunja by agent

Project management: Vikunja by agent
AgentRunsPicked it
Claude Sonnet, plain coding agent76 of 7

What to do.

For product owners

  • Most picks came from what the agent already knew. A tool it doesn't name from memory has to show up when it searches for the job.
  • Describe the job your tool does in the words a developer would type, so a web search for that job finds you.
  • Make the path from install to a first working call short. Far more runs installed their pick than got it working.

For agent builders

  • Expect the same pick most of the time. If you want a different tool, name it in the task.
  • Check that the pick works before you move on. An install is not a working call.
  • If you want your agent to weigh tools beyond the ones it already knows, add a registry or a web search to the task.

Method and limits.

How we tested

  • Each run gave one agent a real job in a small sample project, in words that name no product, such as "add privacy-friendly web analytics to this site". Three wordings per category, 20 minutes per run.
  • 80 runs in eight categories. This page counts the 80 runs from 20 Oct 2026 to 31 Oct 2026 in the eight categories with 5 runs or more.
  • The agents: Claude Sonnet as a plain coding agent, and Claude Sonnet and Claude Opus with a tester's brief.
  • Each outcome counts only where the run's trace shows it. Picked: the agent's own choice. Installed: a package install that succeeded, or the project uses the tool at the end. Called: a request to the tool's API, or code using it that ran. Worked: the agent's proof is in the output of a successful call, and the job's own check holds.
  • From memory: the agent named its pick before any search result or page it read showed it.

Limits

  • A tool is named only when 5 or more runs picked it. An agent gets its own row from 5 runs.

See what an agent sees in yours.

Free: what an agent finds, any wall in its way and how many things to fix. The Audit ($499) gives you every fix.