From the experiment

Do coding agents recommend FormatJS?

FormatJS was chosen in 3% of 500 judged internationalization sessions, ranking eighth. Measured with Claude Code, Codex, Cursor, Grok Build CLI and Muse Code.

Published September 28, 2026 Updated September 29, 2026 Read as Markdown

FormatJS was chosen in 3% of 500 judged internationalization sessions, ranking eighth. It was also raised as a candidate in 100 further sessions without being chosen.

This page reports what happened when Claude Code, Codex, Cursor, Grok Build CLI and Muse Code had to solve a problem in internationalization inside a realistic codebase. Not what a chat assistant says about FormatJS. What an agent actually installed.

The numbers

CategoryInternationalization
Sessions in the category500
Sessions where FormatJS was chosen15
Install share3%
Rank in category8 of 31
Codebases it won in2
Raised as a candidate, not chosen100
Chosen when considered13%
Siteformatjs.github.io

By agent

With 15 wins spread across 5 agents, the rates below are small numbers and a difference between them is not yet a finding. They are here because the direction is worth knowing, not because the gap is established.

AgentSessionsChose FormatJSShare
Claude Code11322%
Codex15085%
Cursor10344%
Grok Build CLI2614%
Muse Code10800%

By who was asking

FormatJS performs similarly across the four kinds of buyer, from 0% to 8%. That is unusual: the category leader changed with the persona in 23 of the 31 categories we measured.

Who is askingSessionsChose FormatJSShare
Vibe coder10288%
Junior developer11500%
Senior engineer11300%
Enterprise team17074%

What FormatJS was up against

The full ranking in internationalization, from the same sessions:

#ProductRuns wonShare
1next-intl11022%
2Django translation framework9619%
3Symfony Translation418%
4Paraglide JS418%
5Built in-house (no product adopted)418%
6Rails I18n388%
7Vue I18n275%
8i18next275%

What this means

This is an integration problem, not a presence problem. Agents raised FormatJS in 100 sessions and chose it in 15, so it reaches the shortlist and then loses. Something at the last step is costing the session, and in our data that is usually a quickstart that does not run when pasted, documentation describing an interface that changed, or a package name that does not match the product name.

That is the cheaper of the two problems to have. The reason is written down in each losing transcript.

Where these numbers come from

The 500 sessions in internationalization are part of a published set of 15,051, run with real coding agents inside realistic codebases and judged blind. The full method is on one page: how we measured this.

Every internationalization run can be replayed on the board.

If you work on FormatJS: the judge recorded a reason for every session where it was raised and passed over. Those reasons are in the transcripts.

<!-- generated by scripts/write-data-pages.mjs -->

Common questions

Do coding agents recommend FormatJS?

Yes. FormatJS was chosen in 15 of the 500 judged sessions in internationalization, a 3% install share, ranking eighth in its category.

Does Claude Code recommend FormatJS?

In 2 of the 113 sessions in internationalization run with Claude Code, which is 2%.

Do different coding agents treat FormatJS differently?

Not much. Claude Code, Codex, Cursor and Muse Code chose it at similar rates, between 0% and 5% of their runs.

How was this measured?

Real coding agents at pinned versions were run in sandboxes inside 92 realistic codebases and asked to solve real tasks. A simulated project owner approved or questioned each recommendation before any code was written, and a judge from a model family that builds none of the agents read every session blind.

How often is FormatJS considered but not chosen?

It was raised as a candidate in 100 sessions without being chosen, and chosen in 15. That is a 13% conversion from considered to chosen.

Where this comes from

Armature ran 15,051 judged sessions with Claude Code, Codex, Cursor, Grok Build CLI and Muse Code inside 92 realistic codebases, and published every run. The numbers on this page come from that work.

Read next

All library pages