Skip to main content
Home/Blog/Use Qwen3-Coder for Free with OpenRouter in Cline, Roo Code, and Claude Code
Developer Tools

Use Qwen3-Coder for Free with OpenRouter in Cline, Roo Code, and Claude Code

A practical guide to wiring OpenRouter's free qwen/qwen3-coder:free route into Cline, Roo Code, Claude Code, and any OpenAI-compatible client — including the base-URL gotchas, daily limits, and privacy settings that trip everyone up.

By Sean

If you've been hunting for a capable, agentic code model you can run inside your editor without paying per token, Qwen3-Coder via OpenRouter's free route is one of the better options on the table right now. The catch is that "free" comes with rate limits, a privacy opt-in, and — most annoyingly — a base-URL distinction that quietly breaks half of setups. This guide walks through wiring qwen/qwen3-coder:free into Cline, Roo Code, Claude Code, and any OpenAI-compatible client, plus the limits and failure modes worth knowing before you commit a real project to it.

What you're actually getting

Qwen3-Coder is a Mixture-of-Experts code model marketed as "Qwen3 Coder 480B A35B" — 480B total parameters with 35B active per forward pass. It was released July 23, 2025, with a knowledge cutoff of June 2025, and it's tuned specifically for agentic coding: function calling, tool use, and long-context reasoning over a repository. That agentic focus is why it pairs well with editor extensions like Cline and Roo Code, which lean heavily on tool calls to read files, run commands, and apply diffs.

On OpenRouter there are two IDs for the same underlying model:

Model IDCostNotes
qwen/qwen3-coder:free$0Rate-limited, privacy opt-in required, no SLA
qwen/qwen3-coder~$0.22 / 1M in, ~$1.80 / 1M outHigher pricing above 128K input tokens via Alibaba endpoints

OpenRouter's product page lists the context length as 1M tokens. Treat that as the headline number, not a guarantee on the free route — at least one secondary source reports 262K context for the free variant, so the effective free-route window may be smaller. If you're feeding a large repo, don't assume you get the full million.

The limits you'll actually hit

The free route is generous enough for daily use but not unlimited:

  • ~20 requests per minute on :free models.
  • 50 requests per day if you've purchased less than $10 in credits.
  • 1,000 requests per day if you've purchased at least $10 in credits at any point. This is a one-time purchase — it never expires, and the higher cap sticks even if your balance later drops below $10.

The $10 isn't a subscription. You buy $10 of credits once, your daily free cap jumps from 50 to 1,000, and it stays there. For most solo developers that single purchase is the difference between "toy" and "usable all day."

A note on sourcing: OpenRouter's official limits doc renders the numbers as templated placeholders (e.g. {FREE_MODEL_RATE_LIMIT_RPM}), so the 20 RPM / 50 RPD / 1,000 RPD / $10 figures here come from OpenRouter's live 429 error messages and reputable secondary reporting rather than verbatim from the rendered page. They match what real users see in practice.

When you exhaust the daily cap, OpenRouter returns HTTP 429 with a message like: Rate limit exceeded: free-models-per-day. Add 10 credits to unlock 1000 free model requests per day. Adding the credits resolves it. Separately, free models can be throttled provider-side during peak demand — there's no SLA on :free — so a 429 can show up even before you've hit your personal quota. If you need reliable, predictable access, the paid qwen/qwen3-coder variant is the answer.

And no, spinning up multiple accounts won't help. OpenRouter governs free-model capacity globally per user, so extra accounts and keys don't raise your limits.

Flip the privacy switch first

Before any client will route to a free model, you have to opt in. If your data policy is too restrictive, you'll get: No endpoints found matching your data policy.

Fix it at openrouter.ai/settings/privacy by enabling free endpoints that may train on or publish your inputs. This is the price of free — free models may use your prompts for training. Don't pipe proprietary or client code through :free; use the paid route (or a local model) for anything sensitive.

Cline

Cline has first-class OpenRouter support, so this is the smoothest path:

  1. Open Cline settings (the gear icon).
  2. Select OpenRouter as the API Provider.
  3. Paste your OpenRouter API key (from openrouter.ai/keys).
  4. Open the Model dropdown — Cline auto-fetches the model list — and search for qwen3-coder:free.

There's a custom base URL field, but you don't need it for standard OpenRouter use. If you'd rather configure things manually, Cline also exposes a generic OpenAI Compatible provider where you enter API Key, Base URL (https://openrouter.ai/api/v1), and Model ID (qwen/qwen3-coder:free) directly.

Roo Code

Roo Code (the Cline fork) is nearly identical:

  1. Click the gear icon to open settings.
  2. Select OpenRouter from the API Provider dropdown.
  3. Paste your API key.
  4. Pick the model from the dropdown — Roo Code auto-fetches 100+ models from OpenRouter's API, so search for the Qwen3-Coder free entry.

The official docs now live at roocodeinc.github.io/Roo-Code/providers/openrouter (the old docs.roocode.com URL 301-redirects there).

Claude Code — mind the base URL

Claude Code is where people get burned, because it speaks the Anthropic API shape, not the OpenAI one. Per OpenRouter's official cookbook, set these environment variables:

export ANTHROPIC_BASE_URL="https://openrouter.ai/api"   # NOT /api/v1
export ANTHROPIC_AUTH_TOKEN="sk-or-...your OpenRouter key..."
export ANTHROPIC_API_KEY=""                              # explicitly empty

Then, if you were previously logged into Anthropic, run /logout, restart your terminal, and verify with /status.

To actually steer which OpenRouter model Claude Code uses, set the model-selection env vars to an OpenRouter slug:

export ANTHROPIC_DEFAULT_SONNET_MODEL="qwen/qwen3-coder:free"
export ANTHROPIC_DEFAULT_OPUS_MODEL="qwen/qwen3-coder:free"
export CLAUDE_CODE_SUBAGENT_MODEL="qwen/qwen3-coder:free"

One honest caveat: OpenRouter notes that Claude Code is optimized for Anthropic models, so non-Anthropic models may have reduced compatibility — expect occasional tool-use quirks. It works, but it's a less polished experience than running Qwen in a tool that was built provider-agnostic from the start, like Cline or Roo Code.

Any other OpenAI-compatible client

For Continue, Aider, the Qwen Code CLI, or anything else that speaks the OpenAI API, the recipe is uniform:

  • Base URL: https://openrouter.ai/api/v1
  • API key: your OpenRouter key
  • Model: qwen/qwen3-coder:free

The same base-URL swap works for self-hosted routes too: instead of OpenRouter you can point the OpenAI-compatible base URL at a local-first AI gateway like Wide Area AI, which serves requests from your own hardware at zero per-token cost and only fails over to cloud providers when your local nodes are offline — handy if you'd rather keep prompts off a shared free tier that may train on them.

The Qwen Code CLI specifically:

npm i -g @qwen-code/qwen-code
export OPENAI_API_KEY="sk-or-...your OpenRouter key..."
export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
export OPENAI_MODEL="qwen/qwen3-coder:free"

The one distinction to memorize

Client typeBase URL
Claude Code (Anthropic-shaped)https://openrouter.ai/api
Cline / Roo Code / Qwen Code / OpenAI-compatiblehttps://openrouter.ai/api/v1

Get these backwards and nothing works. This is genuinely the most common setup failure.

A few things people conflate

OpenRouter's free tier is not Qwen's own free tier. Qwen Code ships with a built-in Qwen OAuth login that is a completely separate route from OpenRouter. Reports suggest that OAuth tier's daily quota dropped to around 100 requests/day in mid-April 2026 (down from ~1,000) — but that figure is unverified and, more importantly, has nothing to do with OpenRouter's limits. Don't mix the two when troubleshooting.

Free model availability isn't permanent. OpenRouter offered roughly 28+ free models as of mid-2026, and the free roster rotates monthly based on provider availability. qwen/qwen3-coder:free is here now, but there's no guarantee it stays.

BYOK is a different program. OpenRouter has a separate Bring-Your-Own-Key program offering around 1,000,000 free BYOK requests/month (with a 5% routing fee beyond that). That only matters if you're bringing your own upstream provider key — it's unrelated to the :free model route described here.

Bottom line

The free qwen/qwen3-coder:free route is a legitimately good way to get an agentic 480B code model into Cline, Roo Code, Claude Code, or any OpenAI-compatible tool for $0. Spend a few minutes up front: flip the privacy opt-in so you don't hit "No endpoints found matching your data policy," make the one-time $10 credit purchase to jump from 50 to 1,000 requests/day, and — above all — use the right base URL for your client (/api for Claude Code, /api/v1 for everything else). Just remember it's free for a reason: there's no SLA, peak-time throttling is real, and your prompts may be used for training. For daily side-project work it's excellent. For anything you can't afford to have logged or rate-limited mid-task, switch to the paid qwen/qwen3-coder variant.

Frequently Asked Questions

Find answers to common questions

The free model ID is qwen/qwen3-coder:free. The paid variant is qwen/qwen3-coder (no suffix). Both reference Qwen3-Coder 480B A35B, a Mixture-of-Experts code model with 480B total parameters and 35B active per forward pass. The :free route costs $0; the paid route is roughly $0.22 per 1M input tokens and $1.80 per 1M output tokens.

Free :free models are limited to about 20 requests per minute. Your daily cap is 50 requests per day if you have purchased less than $10 in credits, or 1,000 requests per day if you have purchased at least $10 in credits at any point. That $10 is a one-time purchase — it never expires, and you keep the higher limit even if your balance later drops below $10.

That 429 means you hit your personal daily free quota. OpenRouter's message typically reads 'Rate limit exceeded: free-models-per-day. Add 10 credits to unlock 1000 free model requests per day.' Adding $10 in credits raises the cap to 1,000/day. Note that free models can also be throttled provider-side during peak demand, so you can see 429s even before hitting your own quota.

Using :free models requires opting in under Privacy settings. If your data policy is too restrictive, OpenRouter can't route to any free endpoint. Fix it at https://openrouter.ai/settings/privacy by enabling free endpoints that may train on or publish your inputs. Free models may use your prompts for training, so don't send proprietary code through them.

Claude Code talks to an Anthropic-shaped endpoint, so it uses https://openrouter.ai/api. Cline, Roo Code, Qwen Code, and other OpenAI-compatible clients use https://openrouter.ai/api/v1. Mixing these up — for example pointing Claude Code at /api/v1 — is the single most common setup failure.

Open Cline settings (gear icon), choose 'OpenRouter' as the API Provider, paste your OpenRouter API key, then pick a model from the dropdown — search for qwen3-coder:free. Cline auto-fetches the model list. There's a custom base URL field, but you don't need it for standard OpenRouter use.

Yes. Point any OpenAI-compatible client at base URL https://openrouter.ai/api/v1, set your OpenRouter key as the API key, and use model qwen/qwen3-coder:free. For the Qwen Code CLI, install with npm i -g @qwen-code/qwen-code, then export OPENAI_API_KEY, OPENAI_BASE_URL=https://openrouter.ai/api/v1, and OPENAI_MODEL=qwen/qwen3-coder:free.

No. OpenRouter governs free-model capacity globally per user, so creating extra accounts or API keys won't raise your free limits. The only supported way to get to 1,000/day is the one-time $10 credit purchase.

Building Something Great?

Our development team builds secure, scalable applications. From APIs to full platforms, we turn your ideas into production-ready software.