The best ai coding tools in 2026 are usually ranked by whoever wrote the list. The distribution channels already keep a count, so we read all of them on one day: npm, PyPI, the VS Code Marketplace and the GitHub API, twenty tools in a single pass. The two stores produce two different rankings, and both of them place unmaintained software in the top half. This article is that measured shelf, what each number does and does not mean, and the three signals worth ranking on once you know — for the choice itself rather than the ranking, the assistants pillar is the decision framework this sits under.
Key takeaways
- Claude Code leads npm at 18,788,372 weekly downloads; Copilot Chat leads the VS Code Marketplace at 77,685,513 installs. Neither ranking predicts the other, because they count different populations.
- The marketplace ranks dead software highly and shows no signal of it. The 4.73-rated Codeium extension has 3,973,605 installs and has not shipped in 430 days.
- Stars are not installs. Gemini CLI has 106,586 stars and three downloads per star; Copilot CLI has 11,104 stars and 129.
- Amp renamed its npm package and the old name still out-downloads the new one, 37,657 to 21,617, with the rename stated only in the deprecated package's description.
- Cursor and Devin publish no install count at all, so any roundup ranking them next to these numbers is mixing measurement with estimate.
The short answer
Rank on three signals: whether the tool leads its own store, whether it shipped in the last 90 days, and what its licence actually is. On that combination the 2026 shelf comes out as Claude Code and Codex CLI in the terminal, Copilot and the Claude Code extension in the editor, and opencode as the leading permissively-licensed alternative to both.
If what you need is a decision rather than a ranking, the complete comparison of AI coding assistants is the pillar this sits under and it decides by where you work — terminal, editor, cloud, self-hosted. This article answers a narrower question: of everything on the shelf, what is actually being installed, and by whom.
What the two stores actually count
The numbers are free and nobody quotes them, mostly because they are easy to quote wrongly. Each one measures something specific:
| Source | What it counts | What it is not |
|---|---|---|
| npm weekly downloads | Tarball fetches in seven days, CI included | A count of humans |
| PyPI weekly downloads | The same, via pypistats.org | A count of humans |
| Marketplace installs | Cumulative since release, never decremented | Active users |
| GitHub stars | Attention at the moment of reading | Usage of any kind |
Two consequences follow, and they run in opposite directions. npm overstates: a CI job that installs an agent on every build is counted on every build. Marketplace installs overstate differently: the total never goes down, so an extension nobody has opened since 2024 keeps its historical number forever.
This is why the article ranks within a store and never across stores, and why every table below carries the date it was read: 2026-08-20, in one pass of our internal adoption check.
The terminal shelf, by weekly downloads
| Tool | npm package | Weekly | Last release |
|---|---|---|---|
| Claude Code | @anthropic-ai/claude-code | 18,788,372 | 1 day |
| Codex CLI | @openai/codex | 13,387,532 | 2 days |
| opencode | opencode-ai | 2,071,689 | 7 days |
| Copilot CLI | @github/copilot | 1,432,675 | 6 days |
| Gemini CLI | @google/gemini-cli | 315,596 | 1 day |
| Aider | aider-chat (PyPI) | 189,909 | 189 days |
Below those, Qwen Code takes 62,365, Auggie 32,859, Amp 21,617 and Crush 10,537. Continue's CLI takes 3,079 and Cline's takes 198 — both are editor tools whose terminal package is a side entrance, which is exactly why a single "best AI coding tools" list ordered by one number misleads.
The distance between first and fifth is the finding. Claude Code and Codex CLI together are 32.2 million weekly fetches; Gemini CLI, which has almost as many GitHub stars as Codex, takes 315,596. Whatever attention is measuring, it is not this.
Aider is the flagged row. Its last PyPI release (on PyPI's aider-chat page) is 189 days old, and its repository's last push was 2026-05-22 — exactly 90 days ago as of this reading, which is the staleness threshold our terminal-agent survey set in August and measured at 83 days then. It crossed today. The project is not archived and the tool still works; it is simply no longer shipping at the pace the rest of this table does.
The editor shelf, by cumulative installs
| Extension | Installs | Rating | Last updated |
|---|---|---|---|
| GitHub Copilot Chat | 77,685,513 | 2.86 (378) | 97 days |
| GitHub Copilot | 74,403,917 | 4.08 (1,054) | 300 days |
| Claude Code | 23,564,749 | 3.72 (759) | 0 days |
| Tabnine | 9,617,579 | 4.03 (614) | 223 days |
| Gemini Code Assist | 5,068,824 | 1.92 (850) | 12 days |
| Cline | 5,034,660 | 4.08 (310) | 6 days |
Below the cut: Codeium at 3,973,605, Continue at 3,951,211, Roo Code at 1,938,656, Amazon Q at 1,826,786 and Kilo Code at 1,439,029.
Two things in that table are worth stopping on. Gemini Code Assist holds a 1.92 rating across 850 ratings — the lowest in the survey by a wide margin, on a tool that appears in every published roundup, and it is shipping actively. Copilot Chat holds 2.86 across 378 while the older Copilot extension beside it holds 4.08 across 1,054. Ratings are self-selected and small-sample; they are still the only quality-adjacent number either store publishes, and a 1.92 is not noise.
The stores rank dead software near the top
This is the part that changes how to read any roundup, including this one.
The Codeium extension carries 3,973,605 installs and the highest rating in the entire survey at 4.73 from 1,472 ratings. Its marketplace entry was last updated 430 days ago. Codeium is the tool that became Windsurf and then became Devin, and the listing that ranks eighth on installs and first on rating carries no indication of any of it.
Roo Code carries 1,938,656 installs and a 4.72 rating. Its repository has been archived since 2026-05-15 — a fact we published in August after finding archived: true in the GitHub API. The marketplace listing is unchanged, still present tense, still installable, still highly rated.
GitHub Copilot's marketplace listing has not been updated in 300 days while the Copilot Chat listing beside it moved 97 days ago, which is the shape of a product whose active surface moved and whose old entry keeps its 74 million installs.
A store ranks by accumulated reach and current sentiment. Neither of those decays. Maintenance is the axis the stores do not have a column for, so it has to be added from outside — which is one API call per repository and the reason our adoption check makes it.
Stars are not installs
| Tool | Stars | Weekly downloads | Downloads per star |
|---|---|---|---|
| opencode | 199,318 | 2,071,689 | 10.4 |
| Claude Code | 142,057 | 18,788,372 | 132.3 |
| Codex CLI | 106,937 | 13,387,532 | 125.2 |
| Gemini CLI | 106,586 | 315,596 | 3.0 |
| Aider | 48,337 | 189,909 | 3.9 |
| Copilot CLI | 11,104 | 1,432,675 | 129.0 |
Sorted by stars, this table is one ranking. Sorted by downloads it is a completely different one, and the tool with the most stars on the shelf sits fourth on downloads. Copilot CLI is the clearest case: 11,104 stars against 1,432,675 weekly fetches, because the people installing it are GitHub customers who never visited the repository.
The honest reading of the ratio column is that it measures how a tool reaches people. A high number means distribution outruns the repository — vendor push, CI, a bundled install. A low number means the repository is the front door. Neither is better; both are worth knowing before treating a star count as evidence of anything.
Two packages, one tool, and a rename nobody followed
The survey found two tools shipping under two npm names at once, and one of them is a rename in progress:
| Tool | Current name | Weekly | Older name | Weekly |
|---|---|---|---|---|
| Amp | @ampcode/cli | 21,617 | @sourcegraph/amp | 37,657 |
| opencode | opencode-ai | 2,071,689 | @opencode-ai/cli | 289,588 |
The deprecated Amp package out-downloads the current one 1.74 to 1. The only statement of the change is in the old package's own npm description — "Renamed to @ampcode/cli" — which nothing in an existing install will ever show you. Anyone whose script pins the old name keeps installing it, and every write-up that quoted the old name is quietly still correct about a package that is no longer the product.
Four packages on the shelf also publish no repository field at all, including two of the busiest: @anthropic-ai/claude-code at 18.8 million weekly and opencode-ai at 2.07 million, the latter with no homepage either. The package is what runs on your machine, and for those two nothing in the registry states what source built it.
The same ambiguity has a sharper edge for anyone installing for the first time: typing a tool's own name into npm returns the actual tool exactly one time in ten, and three of the wrong answers ship a command with the name you meant to run.
Package, command and install size side by side
The rankings above count reach. A comparison table also has to say what each tool is, and the first finding is that the package you install, the command you type and the tool's name are rarely the same string. Read on 2026-08-20 (Cline's row on 2026-08-21) from npm, PyPI and each project's own README:
| Tool | Package | Command | Unpacked install |
|---|---|---|---|
| Claude Code | @anthropic-ai/claude-code | claude | 172.7 kB |
| Codex CLI | @openai/codex | codex | 11.7 kB |
| Gemini CLI | @google/gemini-cli | gemini | 97.9 MB |
| Copilot CLI | @github/copilot | copilot | 13.0 kB |
| opencode | opencode-ai | opencode | 7.9 kB |
| Cline | cline | cline | 46.4 kB |
| Continue | @continuedev/cli | cn | 64.8 MB |
| Qwen Code | @qwen-code/qwen-code | qwen | 94.7 MB |
| Crush | @charmland/crush | crush | 48.6 kB |
| Aider | aider-chat (PyPI) | not published | 377.0 kB |
Install sizes are not comparable across packaging strategies: opencode's 7.9 kB is a bootstrapper
that downloads a binary afterwards, while Gemini CLI's 97.9 MB ships everything. On licence, as
GitHub's detector reports it, opencode is MIT; Codex CLI, Gemini CLI, Cline, Continue, Qwen Code
and Aider are Apache-2.0; Copilot CLI and Crush come back NOASSERTION; and Claude Code has
none. Every project's README documents a Windows-native install except Continue's. On release
age, Cline had shipped that day, Qwen Code and Crush one day earlier, and Continue 63 days
earlier. Only Gemini CLI's README states a free model allowance, on line 19; four others that
were checked state none.
How much of a comparison table can be sourced
We then put ten of these tools against thirteen attributes — 130 cells — and gave every cell a provenance class: measured by a re-runnable command, stated by a vendor on a dated read, or unknown. The result, built on 2026-08-21:
| Class | Columns | Cells filled | Share of table |
|---|---|---|---|
| Measured here | 9 | 74 | 56.9% |
| Vendor-stated | 2 | 4 | 3.1% |
| Unknown | 2 | 0 | 0.0% |
78 cells carry a value (60.0%) and 52 are gaps; no tool has a complete row. Claude Code fills 10 of 13, because its npm package, VS Code extension and vendor rate card are all public. Gemini CLI, Cline and Continue fill 9; Codex CLI, opencode and Qwen Code 8, with no marketplace listing to count; Copilot CLI and Crush 7, with no marketplace listing and no first-party rate card. Aider fills 3, entirely because PyPI publishes no VS Code install count and, in its JSON API, no console entry points. Completeness measures the registries, not the software.
Two columns are unknown for all ten tools. Output quality needs every tool installed on one machine, a fixed task set and a grader nobody has agreed on. Speed on your codebase depends on your repository, your network and the model you point the tool at, so it is really a model column wearing a tool's name. Price fills for only three of ten rows — the tools whose vendor bills their default model — and context window for one. For the other seven, price is not a missing number but a category error: the bill belongs to whichever key you supply.
When two of our own measurements disagreed
The first run of the comparison matrix printed Cline at 198 weekly npm downloads in one column
and cline, 46.4 kB in another. Two of this site's scripts were measuring different software
under the same row label: the adoption survey had been pointed at @cline/cli, the project's
[EXPERIMENTAL] SDK client published once on 2026-05-07, while the install survey read bare
cline, which is what the project's README installs. The real figure was 78,781 weekly — 370x
the one this article first published, which is why the terminal shelf above now carries a dated
correction. Only that row was re-read, and the matrix check now fails when two sources name
different packages for the same tool. Two instruments measuring the same thing with different
constants is how a body of measurements starts contradicting itself, and a comparison table is
where that surfaces.
The same table 32 days later
On 2026-09-22 we re-read every cell of that ten-tool table from the same five public sources — registry.npmjs.org, api.npmjs.org, the Visual Studio Marketplace, api.github.com and raw.githubusercontent.com, none of which needs credentials. Of 74 measured cells that carried a value, 25 had moved (33.8%), and every one of them was a count rather than a fact about what a tool is.
| Column | Kind | Filled | Moved |
|---|---|---|---|
| npm downloads / week | counter | 9 | 9 |
| marketplace installs | counter | 3 | 3 |
| days since npm release | counter | 9 | 6 |
| unpacked install | counter | 9 | 7 |
| licence (SPDX) | identity | 10 | 0 |
| licence class | identity | 10 | 0 |
| command you type | identity | 9 | 0 |
| documented Windows install | identity | 10 | 0 |
| free allowance in its repo | identity | 5 | 0 |
All 44 identity cells held. The download leader did not:
| Tool | 2026-08-20 | 2026-09-22 | Change |
|---|---|---|---|
| Codex CLI | 13,387,532 | 15,057,834 | +12.5% |
| Claude Code | 18,788,372 | 9,211,672 | −51.0% |
| opencode | 2,071,689 | 1,743,930 | −15.8% |
| Copilot CLI | 1,432,675 | 1,061,320 | −25.9% |
| Cline | 78,781 | 40,310 | −48.8% |
Package size moved more quietly. Qwen Code grew 31.4%, from 94,706,530 to 124,420,686 bytes unpacked; Copilot CLI moved by one byte, 12,967 to 12,968, across seven releases; opencode stayed at 7,865 bytes from 1.18.19 to 1.18.32, thirteen versions later; and Continue had not published to npm since 2026-06-18, so its days-since-release cell went from 63 to 96. The four vendor-stated cells — three input prices and one context window — were re-read live and had not drifted at all. Prices move when a vendor decides they move; download counters move continuously because nobody decides them.
One failure is worth knowing if you build a check like this. Our first version exhausted GitHub's
unauthenticated budget of 60 requests an hour, the API answered 403, and the diff recorded twenty
identity cells as gone. Nothing had changed. Every row now records the HTTP status of each source,
and an unanswered source is reported as unread rather than counted as decay.
A counter that went stale in 122 seconds
A month is the wrong unit. In the same session we read marketplace installs twice, two minutes apart:
| Tool | First read | 122 seconds later | Change |
|---|---|---|---|
| Claude Code | 26,054,260 | 26,063,426 | +9,166 |
| Cline | 5,406,039 | 5,407,144 | +1,105 |
| Continue | 4,191,839 | 4,192,540 | +701 |
All three cells were out of date before the check that read them had finished. Every counter in a comparison table is a reading with a timestamp; the columns worth deciding on are the ones that describe what a tool is — licence, binary name, install route, stated allowance.
What none of this measures
Quality. No number in this article says which tool writes better code. Doing that needs a fixed task set, several installed tools and a grader; only Claude Code is installed on the machine that produced these figures, and our three-way agent comparison refuses the same ranking for the same reason.
Cursor and Devin Desktop. Both ship their own editor and publish no install count, so there is no public number to put beside the ones above. They are listed as unmeasurable in the script's output rather than estimated. JetBrains plugins are distributed through a marketplace this survey does not read.
Active use. Cumulative installs and weekly fetches are the closest public proxies and neither is a user count. If a vendor publishes monthly actives, that number is better than anything here — and none of the twenty does.
How to choose from a measured shelf
- Start from the surface, not the ranking. Terminal, editor, cloud or self-hosted decides more than any install count; the assistants pillar is the framework, and these numbers are the sanity check on it.
- Require a release inside 90 days. It excludes Codeium and Roo Code from the editor list and moves Aider to the boundary, and it is the one filter the stores themselves do not apply.
- Check the licence rather than the word "open". Crush ships under FSL-1.1-MIT and Copilot CLI under a custom licence GitHub's own detector cannot classify — a distinction that decides whether you can fork the thing you depend on.
- Prefer the tool that leads its own store. Within the terminal, Claude Code and Codex CLI are an order of magnitude ahead of everything else; within the editor, Copilot's two extensions are.
- Re-check the numbers before you cite them. All four sources are public APIs that need no key; our own check reads them in one pass and fails when a package, extension or repository stops resolving, which is how this survey found an archived project still sitting on two million installs.
A ranking built on these counters is a ranking with a shelf life, and we have since measured it: re-read 32 days later, every weekly-download figure in our comparison table had moved and the top row had changed hands.
Common mistakes reading a tools roundup
- Comparing an npm count to a marketplace count. Tempting because both are big numbers. The symptom is concluding a CLI is bigger than an IDE extension, or the reverse. They count different things over different windows and neither converts.
- Treating stars as adoption. Tempting because stars are the number every README shows. The symptom is recommending the tool with the best repository page. Gemini CLI has 106,586 stars and 3 downloads per star; the ratio spans two orders of magnitude across this shelf.
- Assuming a store delists dead software. We assumed it too, until the survey put a 430-day-stale extension at the top of the rating column. The symptom is installing something archived three months ago. The fix is one repository lookup per candidate.
- Reading a high rating as a current judgement. Ratings accumulate and never expire, so the 4.73 belongs to a version of a product that no longer exists under that name.
Conclusion
Use the stores for what they are good at — telling you what has reach — and add the one column they do not have: whether the thing shipped this quarter. On that basis the defensible 2026 shortlist is Claude Code or Codex CLI in the terminal, Copilot or the Claude Code extension in the editor, and opencode if the licence matters more than the ranking. Then re-read the registries yourself in three months, because two of the entries in this article's tables were already frozen when it was written and nothing in either store said so.
Frequently asked questions
What are the most installed AI coding tools in 2026?
Are GitHub stars a good way to rank AI coding tools?
Do the app stores show whether a tool is still maintained?
How do I check adoption numbers myself?
Which AI coding tools cannot be measured this way?
How long is an AI coding tools comparison good for?
Muhammad Kashif
Founder and editor of Devventa, covering AI coding assistants, Next.js and the modern AI development stack.




