Qwen Code and Claude Code are both agentic terminal coding clients, and the choice between them is rarely about the terminal: Qwen Code is Apache-2.0, installs free, and will point at any OpenAI-compatible endpoint you own, while Claude Code is proprietary, needs a paid Claude plan or a Console account before it runs at all, and speaks the Anthropic Messages format or a cloud provider's own request format — never an OpenAI-compatible one. That asymmetry — who is allowed to sell you the tokens — decides more purchases than any feature table does.
One correction before anything else, because it invalidates most of what search returns for this comparison. Qwen Code's own authentication documentation states that the Qwen OAuth free tier was discontinued on 2026-04-15, and that OAuth is no longer even a selectable entry in the /auth dialog. Any comparison that opens with "Qwen Code is free, Claude Code is $20 a month" is setting a dead tier against a live one. In 2026 both clients require you to buy inference; they differ in what you may buy and from whom.
The two products, as of this check
| Qwen Code | Claude Code | |
|---|---|---|
| Maintainer | QwenLM (Alibaba) | Anthropic |
| Latest release | v0.24.2, published to npm September 20, 2026 | v2.1.278, published to npm September 19, 2026 |
| License | Apache-2.0 per the GitHub repository; the npm manifest carries no license field | Proprietary — the npm manifest declares "SEE LICENSE IN README.md" |
| Cost to install | $0, no account | $0, but a paid Claude plan or a Console account is required to run it |
| Endpoint protocols | OpenAI Chat Completions, OpenAI Responses, Anthropic, Gemini/Vertex | Anthropic Messages; also Amazon Bedrock and Google Cloud Agent Platform request formats, each through that provider's own variables. No OpenAI-compatible route |
| Bring your own endpoint | First-class, four adapters, switch at runtime | Documented as a gateway your organization runs, with subtractions |
Version and license data read from the @qwen-code/qwen-code and @anthropic-ai/claude-code registry entries, re-read on September 21, 2026. The license line is worth reading twice: it is the one difference here that no amount of feature convergence can close, and it is also the one place the two sources for Qwen Code disagree, so cite the repository rather than the package manifest.
One inheritance to rule out. Qwen Code's README states that the project began from Google Gemini CLI v0.8.2 and stopped syncing with upstream at v0.1, developing independently since. It is a hard fork, not a Gemini CLI skin, and its documented authentication options are Alibaba ModelStudio, third-party providers and a custom provider — a Gemini CLI login is not among them. See Gemini CLI vs Claude Code for that separate comparison.
Who should pick which
The honest version of this answer is conditional, and the condition is almost always about billing and blast radius rather than about which agent writes better code.
| Pick | When | What you give up |
|---|---|---|
| Claude Code on a Claude plan | You already pay for Pro or Max and want that subscription spent in the terminal; you rely on Remote Control, voice dictation, or the desktop app's SSH and cloud environments | Model choice is the Claude family; no countable usage ceiling is published, so you cannot size a plan from a number |
| Claude Code on a Console account or a gateway | You want per-token billing and one balance rather than a seat, and Claude models are what you want to run | A gateway credential replaces the subscription for that session; Remote Control and voice dictation switch off; the desktop app needs a separate configuration |
| Qwen Code on an Alibaba plan | Qwen, GLM, Kimi or MiniMax models suit your work and your usage is steady enough to live inside published request caps | Calls pause at whichever cap is reached first; plan slots are limited and restocked daily |
| Qwen Code on your own endpoint | You want runtime model switching across vendors, or a local model, on one key you control | Setup is yours to maintain, and Qwen Code's documentation does not say which built-in features depend on a first-party endpoint — this page did not test it |
| Either, with AGENTS.md | You want to keep the option open and try both on the same repository | Nothing structural — both clients read AGENTS.md, which is the cheapest migration insurance available |
The workflow differences most people expect to be decisive — auto mode, plan mode, sandboxing, subagents — are the ones Qwen Code's own README now claims parity on, as the next section covers. The execution model that has not converged is authentication, and that is where the money is.
Workflow and features: read the vendor claim as a vendor claim
Qwen Code's README publishes its own parity table against Claude Code, marking both products present on subagents and agent teams, auto-memory, auto-skills and hooks, built-in slash-command skills, MCP, plan mode, LSP integration, auto mode, sandboxing, git worktrees, computer use, IDE plugins for VS Code, JetBrains and Zed, an SDK, and headless mode with session management. It marks five rows as its own and not Claude Code's: open source, multi-protocol model access, a multi-model "agent arena", a daemon mode started with qwen serve, and chat-channel front ends.
That table is the maintainer's description of its own product against a competitor. It is worth reading because it tells you what Qwen Code intends to be, and it is not evidence of equivalence — Kunavo has not runtime-tested a single row of it, in either client. Treat a check mark as a claim that a feature exists, not that it behaves the way its Claude Code counterpart does.
The same caution applies harder to benchmarks. Qwen publishes SWE-bench Verified results for seven of its own releases — three trials each on 500 cases, with the model held fixed at Qwen 3.7 Max — and the average score moves from 77.80% at v0.0.14 to 77.33% at v0.22.0, staying inside a band of roughly 1.4 points across every version in between. The useful reading is not that one version wins: it is that under a fixed model, the harness version barely moves the outcome. Anthropic publishes no comparable Claude Code agent score, so there is no head-to-head number here, and this page will not manufacture one.
Models, accounts, and the BYOK boundary
Claude Code's default model follows your account type. Its model configuration reference states that Max, Team Premium, Enterprise and the Anthropic API default to Opus 5, while Pro and Team Standard default to Sonnet 5, and that no Fable model is the account-type default on any plan or provider. Qwen Code has no such concept: the model is whatever your modelProviders entry names, switchable mid-session with /model.
Qwen Code's protocol table is explicit about which adapter accepts a third party. The openai row lists OpenAI, Azure OpenAI, OpenRouter, Requesty, ModelScope, Alibaba Cloud and any OpenAI-compatible endpoint; the anthropic row lists only Anthropic Claude, even though ANTHROPIC_BASE_URL exists as an override. For any endpoint that is not Anthropic's own, route through openai.
{
"modelProviders": {
"openai": [
{
"id": "claude-sonnet-5",
"name": "Claude Sonnet 5",
"baseUrl": "https://api.kunavo.com/v1",
"envKey": "OPENAI_API_KEY"
}
]
},
"env": {
"OPENAI_API_KEY": "your-kunavo-key"
},
"security": {
"auth": {
"selectedType": "openai"
}
},
"model": {
"name": "claude-sonnet-5"
}
}Claude Code's equivalent is ANTHROPIC_BASE_URL plus exactly one credential variable, and the gateway connection guide is unusually direct about the failure mode: ANTHROPIC_AUTH_TOKEN is sent in Authorization: Bearer, ANTHROPIC_API_KEY in x-api-key, and a credential in the wrong variable arrives in a header the gateway does not read, returning 401. The documented verification request is a POST to $ANTHROPIC_BASE_URL/v1/messages with an anthropic-version: 2023-06-01 header. That is the protocol story for this route: a gateway behind ANTHROPIC_BASE_URL speaks Messages format. Claude Code's other gateway routes take Amazon Bedrock's and Google Cloud Agent Platform's own request formats instead, each selected by that provider's own variables — none of the three is OpenAI-compatible.
export ANTHROPIC_BASE_URL="https://api.kunavo.com"
export ANTHROPIC_AUTH_TOKEN="your-kunavo-key"
export ANTHROPIC_MODEL="claude-sonnet-5"Then read what turns off. These four are documented by Anthropic itself, and they are the reason "Claude Code supports gateways" and "Claude Code is endpoint-agnostic" are different statements.
| What changes under a third-party endpoint | Detail |
|---|---|
| Your subscription stops applying | While a gateway credential or apiKeyHelper is active, the claude.ai subscription is not used for that session and its usage limits do not apply. Setting ANTHROPIC_BASE_URL alone, with no credential variable, keeps the claude.ai login active — but such a gateway must forward the OAuth capability in anthropic-beta |
| Remote Control and voice dictation | Both rely on a claude.ai identity and are unavailable while a gateway credential is set. Remote Control is additionally disabled whenever ANTHROPIC_BASE_URL points at a non-Anthropic host |
| The desktop app | It does not read ANTHROPIC_BASE_URL or settings.json at all; gateway routing comes from a separate third-party inference configuration, and with that active the environment picker offers no SSH sessions and no Anthropic-hosted cloud environments |
| MCP tool search | A custom ANTHROPIC_BASE_URL is listed in the MCP documentation among the configurations that run without tool search, so Claude Code falls back to WaitForMcpServers for servers still connecting |
And one support-policy line, worth naming because people keep finding it after they have built on it: the gateway overview says Anthropic does not endorse, maintain or audit third-party gateway products, and does not support routing Claude Code to non-Claude models through any gateway. That is a statement about what Anthropic will help you with, not a technical block — which matters, because Alibaba's Coding Plan page publishes an Anthropic-compatible base URL at coding-intl.dashscope.aliyuncs.com/apps/anthropic and lists Claude Code among its supported coding tools. Two first-party sources, both current on September 21, 2026, pointing opposite ways. Kunavo did not test that route and takes no side on it; keep a working path available if you try it. Both pages checked September 21, 2026.
The two bills, on one measuring stick
Neither client bills you. What follows are the endpoints that do.
| What you buy | Published price | Metered in |
|---|---|---|
| Qwen Code client | $0 | Nothing |
| Claude Code client | $0 to install; a paid plan or Console account required | Nothing on its own |
| Claude Pro | $20 per month, or $200 billed annually up front (shown as $17 per month) | A shared usage pool |
| Claude Max | From $100 per month, with a 5x and a 20x tier | A shared usage pool |
| Claude Team, standard seat | $25 per seat per month, or $20 per seat on annual | A shared usage pool |
| Claude Console account | Standard API pricing | Tokens |
| Alibaba Coding Plan Pro | $50 per month | Requests |
| Qwen pay-as-you-go | qwen3-coder-next from $0.3 in / $1.5 out; qwen3-coder-plus from $1 in / $5 out, per million tokens | Tokens, tiered by input length |
Claude plan prices read from claude.com/pricing, re-read on September 21, 2026. No separate 20x Max price appears on that page. Max is priced once, as "From $100 per month" against an offer of 5x or 20x more usage than Pro, and the sole $200 figure on the page belongs to Pro billed annually. A $200-per-month Max figure is not something this page can source, so it does not print one; confirm in checkout. Alibaba figures come from the Coding Plan page and the Model Studio pricing page (international, Singapore, USD) the same day; the Coding Plan Lite tier closed to new subscriptions on March 20, 2026 and to renewals and upgrades on April 13, 2026, so any cheaper Lite price you find is retired.
What each vendor will and will not tell you
This is the sharpest practical asymmetry on the page, and it cuts both ways.
Alibaba prints countable limits for the Coding Plan Pro subscription: up to 6,000 requests per 5 hours, 45,000 per week and 90,000 per month, applied simultaneously, with calls paused when any one is reached, limits that are not cumulative, and subscription slots that are limited and restocked daily. It also prints the conversion most price tables leave out — quota is consumed per model call, with simple tasks typically using 5 to 10 calls and complex tasks 10 to 30 or more. Taking Alibaba's own range at face value, 90,000 requests a month is on the order of three to nine thousand tasks, and 6,000 in a five-hour window is roughly two hundred to six hundred. That is an arithmetic consequence of its published figures, not a guarantee, and Alibaba says actual consumption varies with task complexity, context and tool usage.
Anthropic's pricing page prints no equivalent request count. It describes a rolling five-hour session window with weekly limits on paid plans, one shared pool across web, desktop, mobile and Claude Code, and states plainly that there is no fixed message count. What Anthropic publishes instead is spend: its own cost management guide reports an average of around $13 per developer per active day and $150 to $250 per developer per month across enterprise deployments, with costs staying below $30 per active day for 90% of users. No page on the Qwen side offers that. If you are sizing a budget, Anthropic has given you the better number; if you are sizing a ceiling, Alibaba has.
An estimate you can recompute
Anthropic's API pricing page models a one-hour coding session as 50,000 input tokens and 15,000 output tokens. Borrowing that shape, at live Kunavo catalog rates, and assuming 20 such sessions in a month:
| Model | Where Claude Code defaults to it | Input / output per 1M | One session | 20 sessions |
|---|---|---|---|---|
| Claude Haiku 4.5 | Not an account-type default | $0.40 / $2.00 | $0.050 | $1.00 |
| Claude Sonnet 5 | Pro and Team Standard | $2.00 / $10.00 | $0.250 | $5.00 |
| Claude Opus 5 | Max, Team Premium, Enterprise, Anthropic API | $2.00 / $10.00 | $0.250 | $5.00 |
Read the middle column before the money columns. Kunavo's catalog currently lists Claude Opus 5 and Claude Sonnet 5 at the same per-token rate, so on this metered route the account-type default that separates a Max plan from a Pro plan costs the same either way — the number of sessions decides the bill, not which default you inherited.
This is illustrative token arithmetic on an assumed session shape, not a measured task cost and not a bill ceiling. It excludes cache charges, external tools and tax, and it assumes no retries. Two corrections belong beside it. First, the same 50,000-token request on Alibaba's tiered rates does not price at the headline tier: 50,000 tokens of input is past the 32K boundary, so qwen3-coder-next bills that request at $0.5 in / $2.5 out rather than $0.3 / $1.5, and qwen3-coder-plus at $1.8 / $9 rather than $1 / $5. A long agent context re-prices the whole request, which is exactly the shape a coding agent produces. Second, Anthropic states that models from Claude 4.7 onward use a newer tokenizer producing approximately 30% more tokens for the same text, with Sonnet 4.6 and earlier on the previous one, and that the exact increase depends on the content. Read that figure against the baseline it actually has: Anthropic's own earlier tokenizer, not Alibaba's. It says a given file bills more tokens on Opus 5 or Sonnet 5 than the same file did on Sonnet 4.6; it says nothing about how either vendor's tokenizer counts against the other, and neither vendor publishes that comparison. So apply it to the token count when you compare Claude generations, and do not read a cross-vendor rate table as a cost comparison in either direction.
Kunavo's catalog amount is a billing floor rather than a cap: when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost times the applicable markup. The minimum top-up is $10 in prepaid credit — the cash to open a funded account, not a task fee or a subscription. See billing details. Kunavo sells no Qwen text model, so it is not a cheaper route to Qwen inference; the Qwen rates above are Alibaba's, quoted for comparison.
What migration actually costs
Less than people assume in one direction, and more in another. The portable file is AGENTS.md. Qwen Code's memory documentation names QWEN.md as its own instruction file — ~/.qwen/QWEN.md for you, QWEN.md in the project root for the team — and says a repository's existing AGENTS.md is read as well. Claude Code's memory documentation says it reads AGENTS.md as project instructions when no CLAUDE.md or CLAUDE.local.md sits in your working directory or above it, with a setting to load both together; direct AGENTS.md reading requires v2.1.277 or later, which is the release published on September 18, 2026. The same page names the sessions where that direct read is unavailable — on Amazon Bedrock, with telemetry disabled, with hooks disabled, and in your first session after installing or upgrading — and says to import the file from a CLAUDE.md there instead. So "both clients read AGENTS.md" is true of a current Claude Code in an ordinary session, not of every configuration.
| Surface | Qwen Code | Claude Code | Portable? |
|---|---|---|---|
| Project instructions | QWEN.md, plus AGENTS.md | CLAUDE.md, plus AGENTS.md | Only through AGENTS.md |
| Settings file | ~/.qwen/settings.json or .qwen/settings.json | ~/.claude.json, .claude/settings.json | No — different files, different schemas |
| MCP servers | An mcpServers object inside settings.json | An mcpServers object in .mcp.json or ~/.claude.json | The block copies as text; neither reads the other's file |
| Skills, hooks, subagents | Claimed present in the README | Documented product features | Not verified here — assume rewriting |
So the cheap migration is a repository already standardised on AGENTS.md with MCP servers you can paste between two files. The expensive one is a team that has invested in Claude Code skills, hooks and subagent definitions: Qwen Code claims equivalents for all three, and this page did not test whether any definition ports across. Budget that as rewriting, and be pleasantly surprised if it is not.
Setting either one up against Kunavo
Both configurations above are read from each vendor's documentation, not from a test run. Kunavo has not runtime-tested Qwen Code or Claude Code against its endpoints, and a published setup guide is not a compatibility test — keep a working route available while you try one, run a single bounded task, then read the charge your account recorded for it.
What Kunavo does serve is the protocol surface both clients need: Anthropic Messages at /v1/messages for Claude Code, and Chat Completions at /v1/chat/completions plus Responses at /v1/responses for Qwen Code's openai adapter. Start with the Claude Code integration guide or the ANTHROPIC_BASE_URL reference for the Claude Code side, and the Chat Completions reference for the Qwen Code side. Create a Kunavo account when you are ready to fund a key.
Still deciding on the money rather than the client? Qwen Code pricing breaks down Alibaba's three separate billing tracks, Claude Code pricing covers the plan-versus-API question, Claude Code without a subscription covers the Console route, and best API for Claude Code compares the endpoints that speak Messages format.
FAQ
Is Qwen Code better than Claude Code?
No published measurement answers that, and anyone who says otherwise is quoting a number that does not compare the two. Qwen Code's README reports SWE-bench Verified scores for seven of its own versions with the model held fixed at Qwen 3.7 Max, which measures the harness against itself, not against Claude Code. Anthropic publishes no comparable agent score. Choose on the things that are actually documented: license, whether a paid plan is required, which endpoints each client will accept, and what each one loses when you bring your own key.
Is Qwen Code free?
The client is free and stays free: QwenLM/qwen-code is Apache-2.0 per the repository's GitHub metadata, with no paid tier, no seats and no subscription, and v0.24.2 was published to npm on September 20, 2026. The free hosted inference is gone. Qwen Code's own authentication documentation states that the Qwen OAuth free tier was discontinued on 2026-04-15 and that OAuth is no longer a selectable entry in the /auth dialog, so tutorials promising thousands of free requests per day describe a tier that ended five months ago.
Does Claude Code require a subscription?
It requires a paid account of some kind. claude.com/pricing states that Claude Code is included in all paid plans — Pro, Max, Team and Enterprise — and it is not sold on the Free plan. The other route is a Claude Console account: Anthropic's cost management guide treats the Console as one of the ways an organization reaches Claude Code and says Claude Code charges by API token consumption, so on that route there is no subscription and no plan price. Installing the npm package costs nothing either way; the account is the gate.
Can I run Claude Code on Qwen models?
Two first-party sources disagree about whether you should. Alibaba Cloud's Coding Plan page publishes an Anthropic-compatible base URL and lists Claude Code among the supported coding tools, so the route exists on paper. Anthropic's own gateway documentation says it does not support routing Claude Code to non-Claude models through any gateway. That is a vendor-support boundary rather than a technical block, and both statements were current on September 21, 2026. Kunavo has not tested that combination and takes no side on it.
Can I run Claude models inside Qwen Code?
Yes, and Qwen Code documents the path. Its protocol table blesses the openai adapter for any OpenAI-compatible endpoint, which is the adapter to use for a third-party host; the anthropic adapter's Providers column names only Anthropic Claude, even though ANTHROPIC_BASE_URL exists as an override. Set OPENAI_API_KEY, OPENAI_BASE_URL and OPENAI_MODEL, or declare the endpoint once under modelProviders in ~/.qwen/settings.json. Kunavo serves Chat Completions, Responses and Anthropic Messages, but has not runtime-tested Qwen Code against them.
Does my CLAUDE.md work in Qwen Code?
No. Qwen Code's memory documentation names QWEN.md as its own instruction file, at ~/.qwen/QWEN.md for you and QWEN.md in the project root for the team, and it says nothing about reading CLAUDE.md. AGENTS.md is the file that travels: Qwen Code reads a repository's existing AGENTS.md, and Claude Code reads AGENTS.md as project instructions too, by default when no CLAUDE.md or CLAUDE.local.md sits in your working directory or above it. A repository already standardised on AGENTS.md is the cheapest one to move in either direction.
Which is cheaper, Qwen Code or Claude Code?
The client costs are $0 and $0 — Qwen Code is free software and Claude Code is a free download behind a paid account — so the comparison is entirely about inference, and the two vendors publish different units. Alibaba prices a Coding Plan Pro subscription at $50 per month metered in requests, plus per-token rates tiered by input length. Anthropic prices plans from $20 per month for Pro and from $100 per month for Max, with no countable message limit published, plus standard API rates on a Console account. Cheapest listed price and lowest cost to finish a task are different questions, and only the first can be read off a page.
Checked September 18–21, 2026: the npm registry entries for both packages; Qwen Code's README, authentication and memory documentation on the main branch; Claude Code's model configuration, gateway, MCP, memory and cost pages on code.claude.com; Anthropic's API pricing page; claude.com/pricing; and Alibaba Cloud's Coding Plan and Model Studio pricing pages. Not checked: any runtime behaviour of either client, against Kunavo or against any other endpoint. Kunavo token rates are read from the live catalog, and every dollar figure derived from them here is illustrative token arithmetic.