Head to head · Agent harness · October 2026 research run
Pi vs Qwen Code
Qwen Code scores 72.4 (BB) on agent readiness against Pi's 68.4 (B), and leads in 3 of 7 scored categories. Pi leads on reliability and security & auth. Both do agent harness.
Which one, for what
Pi B
Good for Developers and pipelines that want a small, scriptable coding agent they can extend in TypeScript and drive over JSONL or RPC, inside their own container.
Ahead on
- Reliability, 75 against 69
- Security & auth, 61 against 53
Also in its favour
- No key needed to call it
Watch for
No permission system or sandbox. Tool calls run with the user's rights and without an approval prompt
Qwen Code BB
Good for Developers and CI jobs that want an open-source harness tied to no single model vendor, with run budgets and SDKs.
Ahead on
- Schema & documentation, 91 against 84
- Agent ergonomics, 85 against 76
Also in its favour
- Agent-ready, a grade of BB or better
- No incidents deducted, where Pi loses 4 points for them
Watch for
The default approval mode is Auto, where an LLM classifier approves tool calls, and sandboxing and folder trust are both off by default
Score by category
| Category | Weight this run | Pi | Qwen Code | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 75 | 69 | Pi +6 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 84 | 91 | Qwen Code +7 |
| Agent ergonomics | 13%16.2 | 76 | 85 | Qwen Code +9 |
| Security & auth | 14%17.5 | 61 | 53 | Pi +8 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 87 | 88 | Qwen Code +1 |
| Transparency & trust | 7%8.8 | 64 | 63 | Pi +1 |
| Negative events | ≤15 | -4 | 0 | |
| Total | 68.4 · B | 72.4 · BB |
Facts side by side
| Fact | Pi | Qwen Code |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | Earendil | Alibaba (Qwen team) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | API key |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | MIT | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-10-07 | 2026-10-05 |
| Terms last updated | no document linked | 2026-10-01 |
| Privacy policy last updated | no document linked | 2026-10-01 |
| Customer content may train models | not found in the text | |
| Terms restrict automated access | not found in the text | |
| Terms restrict benchmarking | not found in the text | |
| Terms or service can change without notice | not found in the text | |
| Arbitration or class-action waiver | not found in the text | |
| Popularity | 113k stars, 5.2M npm/wk | 28k stars, 105k npm/wk |
Verdicts
Pi
Four default tools, a JSONL event stream, an RPC mode and MCP tools kept out of the model's declarations by default keep context small and scripting simple. Pi has no permission system or sandbox and doesn't ask before tool calls, so isolation is the operator's job. Version 1.0.0 is dated 1 October 2026.
Qwen Code
Apache-2.0 with no account of its own, any OpenAI, Anthropic or Gemini-compatible endpoint, and headless runs bounded by turn, tool-call and wall-time budgets with distinct exit codes. Out of the box, Auto mode lets an LLM classifier approve tool calls, with the sandbox and folder trust both off. Usage statistics are on by default.
Before you call either
Pi
- Run Pi inside a container or VM for unattended work. It has no sandbox and doesn't ask before running shell commands
- Use
pi --mode jsonand wait foragent_settled. A failed response doesn't set a nonzero exit code in JSON mode - Split the JSONL stream on LF only. Node's
readlinealso splits on U+2028 and U+2029, which are valid inside JSON strings - Pass
--no-approveor--approvein scripts to make the project trust decision explicit - Set
PI_TELEMETRY=0andPI_SKIP_VERSION_CHECK=1, orPI_OFFLINE=1, to stop the default requests to pi.dev
Qwen Code
- Pass
--approval-modeon every run. The settings default isauto, and one docs page says headless runs default to asking, so don't rely on either - Add
--max-session-turns,--max-wall-timeand--max-tool-calls. All three are unlimited by default. Exit 53 is the turn limit and 55 a budget --yolodoesn't turn on a sandbox. Add--sandbox, or on Linux settools.executionSandboxwithnetworkset toclosed- Set
QWEN_USAGE_STATISTICS_ENABLED=falseto stop usage statistics - Authenticate with
OPENAI_API_KEY,OPENAI_BASE_URLandOPENAI_MODELin CI. The browser sign-in is discontinued
Questions
Which is better for AI agents, Pi or Qwen Code?
Qwen Code scores 72.4 (BB) on agent readiness against Pi's 68.4 (B), and leads in 3 of 7 scored categories. Pi leads on reliability and security & auth.
Are Pi and Qwen Code open source?
Yes. Pi is open source (MIT). Qwen Code is open source (Apache-2.0).
Other comparisons with Pi or Qwen Code
- Aider vs Pi
- Aider vs Qwen Code
- Amp vs Pi
- Amp vs Qwen Code
- Claude Code vs Pi
- Claude Code vs Qwen Code
- Cline vs Pi
- Cline vs Qwen Code
- Cursor CLI vs Pi
- Cursor CLI vs Qwen Code
- Devin vs Pi
- Devin vs Qwen Code
- Pi vs Gemini CLI
- Pi vs GitHub Copilot CLI
- Pi vs goose
- Pi vs Kiro CLI
- Pi vs OpenAI Codex
- Pi vs OpenCode
- Pi vs OpenHands
- Pi vs Prime Agent
- Gemini CLI vs Qwen Code
- GitHub Copilot CLI vs Qwen Code
- goose vs Qwen Code
- Kiro CLI vs Qwen Code
- OpenAI Codex vs Qwen Code
- OpenCode vs Qwen Code
- OpenHands vs Qwen Code
- Prime Agent vs Qwen Code
- Paperclip vs Qwen Code
Machine-readable
- This page as Markdown
/compare/earendil-pi-vs-qwen-code.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/earendil-pi.json·/api/v1/tools/qwen-code.json - From a terminal
anchor compare earendil-pi qwen-code(the CLI) - Over MCP
compare_tools {"a": "earendil-pi", "b": "qwen-code"}at/mcp, no key