mrkeyoor.com_
Fri 18 Sept 02:51 UTC
AI Toolsevaluationupdated 26 Aug 2026

qwen-code review

Qwen Code is an open-source coding agent that runs in a terminal, IDE, desktop shell, daemon, or programmatic SDK. It can use Qwen or other model providers to inspect a repository, edit files, run tools, coordinate subagents, and connect to MCP servers.

+155stars / 7d
Verdict

Our Qwen Code run installed 1,937 packages in 348 seconds, used 1,475 MB, and built successfully, but tests were still running at the 900-second cap and npm audit found 9 known vulnerabilities. Try it if provider choice, MCP, and several client surfaces outweigh the size and release pace. A team standardizing on it should pin a version, review critical and high advisories, lock tool permissions, and run its own repository acceptance task before granting autonomous write access.

We ran it

Lab card: what happened when we ran qwen-codeScreenshot of qwen-code (qwenlm.github.io/qwen-code-docs/en/users/overview)
Install✓ · 348s1937 packages · 1475 MB
Build✓ · 236s
Tests✗ timed out · 900sran, no count parsed
Known vulns92 critical · 3 high · 3 moderate · 1 low (npm audit)
Repo8636 files~3,302,842 lines of source · 163.2 MB · 51 CI workflows · Dockerfile

Answers from our run

Does qwen-code build from source?

Dependencies installed in 348 seconds (1937 packages), and the build succeeded in 236 seconds. We cloned commit 65c2bb0 into a clean Debian container with 3 CPUs and no project-specific setup.

Do qwen-code's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Does qwen-code have known vulnerabilities in its dependencies?

npm audit flagged 9 known advisories in the dependency tree, including 2 critical at the time of our run.

Who should not use qwen-code?

Small environments where a large dependency tree is unacceptable: our install added 1,937 packages and occupied 1,475 MB.

What are the alternatives to qwen-code?

Gemini CLI, Codex, Aider. Our Qwen Code run installed 1,937 packages in 348 seconds, used 1,475 MB, and built successfully, but tests were still running at the 900-second cap and npm audit found 9 known vulnerabilities.

Setup3/5Easy packaged start; source install took 348 seconds and 1,475 MB
Docs4/5Clear modes, auth links, integrations, SDKs, and provider choices
Community5/527,400 stars, same-day push and release, very active queue
Maturity3/5Broad product surface, with experimental daemon and rapid breaking changes

Discussed on

  1. hnQwen Code: A command-line AI workflow tool, optimized for Qwen3-Coder models7 points
  2. hnQwen OAuth Free tier will be discontinued on 2026-04-154 points
  3. hnQwen3.8-Max reproduce a research paper4 points
  4. hnQwen Code v0.6.0 is available3 points
  5. hnQwen Code v0.5.0 is here3 points

Who it’s for

Developers who want a terminal agent while retaining a choice of Qwen, OpenAI, Anthropic, Gemini, or local model endpoints.
Teams that need the same agent through interactive, headless, IDE, daemon, or SDK interfaces.
Qwen users who want a coding client developed alongside the model family.
Experienced operators who can define tool permissions, sandbox policy, secrets, and review gates.

Who it’s NOT for

Small environments where a large dependency tree is unacceptable: our install added 1,937 packages and occupied 1,475 MB.
Teams requiring a complete clean test result before adoption: our test command was still running when the 900-second cap ended it.
Users expecting a stable server contract: the README labels qwen serve experimental, and v0.22.2 moved the persistent Node REPL into a standalone MCP server as a breaking change.
Developers on Node versions older than 22: the published npm route explicitly requires Node.js 22 or newer.
Organizations that cannot review dependency advisories: npm audit found 9 known vulnerabilities, including 2 critical and 3 high severity.

Setup reality

Our sandbox install succeeded in 348 seconds, adding 1,937 packages and using 1,475 MB. The build succeeded in 236 seconds. Tests did not finish within the 900-second limit; the log tail showed several individual files passing and one intentional runtime-failure message, but no completed suite result. Npm audit reported 9 known vulnerabilities: 2 critical, 3 high, 3 moderate, and 1 low.

Normal use needs Node.js 22 or a standalone package, plus authentication for Qwen or another supported provider. Local models can use Ollama or vLLM. MCP servers, IDE plugins, message channels, and daemon access each add their own configuration and credentials.

The repository is a large npm workspace with 8,636 files, about 3,302,842 source lines, 51 CI workflow files, and a Dockerfile. Auto mode, computer use, worktrees, subagents, and headless execution deserve explicit permissions and a disposable trial repository before wider use.

One agent spans terminal, IDE, daemon, and SDK use

Qwen Code begins as a terminal application, with an interactive interface and a headless -p mode for scripts. The same project also documents VS Code, JetBrains, and Zed integrations, a desktop app, TypeScript, Python, and Java SDKs, chat channels, and an experimental shared daemon. That breadth lets a team reuse familiar agent behavior across several entry points. It also means a trial should name the interface being judged instead of treating every surface as equally mature.

Provider choice is one of its strongest reasons to exist. The README lists Qwen, OpenAI, Anthropic, Gemini, third-party compatible endpoints, Ollama, and vLLM. Authentication starts through /auth, and the active model can be changed during use. This is useful for comparing cost, privacy, tool calling, and code quality without replacing the whole client. Compatibility still needs a real task because providers can differ in schemas, reasoning controls, context limits, and tool behavior.

The feature list carries real permission consequences

Qwen Code includes subagents, agent teams, auto-memory, skills, hooks, MCP, language-server integration, worktrees, sandboxing, computer use, and an automatic mode. Those are meaningful capabilities, yet each one enlarges the set of actions a prompt may trigger. A safe rollout begins with read-only repository work, a narrow command allowlist, disposable branches, and inspection of every requested credential. Headless use in CI deserves an even tighter boundary because no person is present to catch an unexpected tool call.

Release v0.22.2 was published on August 26, 2026, and calls one change breaking: the persistent Node REPL moved to a standalone MCP server. The release also added explicit workflow opt-in triggers, a bearer-auth option for the loopback Web Shell, and several permission and credential fixes. That record shows active attention to boundaries, while the breaking change warns against installing latest into an unattended workflow. Pin the version and read release notes before upgrades.

What happened when we ran it

Our fresh Node 22 sandbox installed the npm workspace in 348 seconds. It added 1,937 packages and consumed 1,475 MB on disk. Building then succeeded in 236 seconds. The checkout already contained 8,636 files, about 3,302,842 source lines, and 163.2 MB, so this is a large development tree before dependencies. The repository had 51 CI workflow files, a Dockerfile, and npm workspaces.

The test command did not finish before our 900-second cap. Its last output showed passing files for CPU profiling, repository context, server lifecycle, workspace skills, fast-path opening, hook management, and qualified voice routes. A line saying runtime startup failed after listener was ready: runtime boom appeared among those passes, which looks like test output, not proof of an unhandled product crash. Since the suite never printed a final result, we cannot claim a pass count or a clean run.

Npm audit reported 9 known vulnerabilities in the installed dependency graph: 2 critical, 3 high, 3 moderate, and 1 low. The supplied measurement does not identify the affected packages or whether each path is reachable in normal use. It is still enough to require review before this agent receives repository credentials, shell access, or message-channel tokens. The build passing does not cancel advisories, and the timeout leaves the complete test state unresolved.

Model freedom still requires provider-specific testing

The multi-protocol approach is practical for teams that cannot settle on one hosted model. A local Ollama or vLLM endpoint can keep prompts inside a controlled network, while a hosted provider may offer stronger coding performance or easier scaling. Qwen Code supplies the client framework, but it does not make those choices equivalent. Tool-call formatting, image support, rate limits, and model-specific settings should be checked with the exact endpoint and model name intended for production.

The documented SDK example streams messages from a Python query while invoking the installed executable. Headless mode can summarize a repository or take part in CI. qwen serve shares one agent session over HTTP and server-sent events, though the README labels it experimental. A shared session raises questions about authentication, workspace ownership, concurrent commands, and transcript visibility. Version 0.22.2 added an authenticated loopback opening option, which is preferable to an unauthenticated local Web Shell.

MCP and skills make extension easy and review necessary

MCP support lets the agent call external tools and data services, while built-in skills cover review, batches, loops, and bug fixing. These extensions can turn a coding client into a much wider workstation agent. Treat every server and skill as code with authority, inspect its instructions, and separate read credentials from write credentials. A local model does not protect data once an MCP tool sends it to another service.

Qwen Code was derived from Gemini CLI v0.8.2 and then moved into independent development from its own v0.1 release. On August 26, GitHub showed 27,400 stars and 1,249 combined open issues and pull requests. The repository was pushed that day. This is very active software with a large queue, so star count says more about attention than stability. Current release notes and issue activity should be checked together before each upgrade.

A pinned, constrained trial is the sensible adoption test

The packaged installer, Homebrew formula, and global npm command make first launch straightforward, assuming Node 22 or a standalone build and a provider credential. Source work is heavier: our install and build consumed 584 seconds combined, and the test command exceeded another 900 seconds. That cost matters for contributors, CI images, and teams that rebuild often.

Qwen Code is worth testing for developers who genuinely need several providers or several interfaces around one agent. Give it a representative issue in a disposable repository and score the resulting diff, commands, token use, and permission prompts. Keep the pinned version only if that run beats a narrower alternative. The unresolved test completion and 9 audit findings make unrestricted adoption hard to justify from the repository evidence alone.

Alternatives

ProjectWhat it isPick it when
Gemini CLI gh↗Google's open-source terminal agent built around Gemini models and extensible tools.pick this instead when Gemini integration and Google's upstream project are the priority.
Codex gh↗OpenAI's open-source coding agent for terminal and automated software work.pick this instead when OpenAI models and Codex's sandboxed workflow fit your team.
Aider gh↗A mature terminal pair-programmer centered on chat, diffs, and Git commits.pick this instead when you want a narrower coding loop with extensive model support.
Claude Code gh↗Anthropic's terminal coding agent with tools, skills, hooks, and MCP support.pick this instead when Claude is the chosen model and a proprietary product is acceptable.

What people are saying

  1. [github-trending] QwenLM/qwen-code

Sources

  1. Qwen Code repository and README
  2. Qwen Code v0.22.2 release
  3. Qwen Code authentication guide
  4. Qwen Code settings reference

More ai tools reviews

OpenBitFun · rowboat · skills · superpowers-zh · yolov5 · eve · the whole board →