# qwen-code **Repository Path**: mirrors_trending/qwen-code ## Basic Information - **Project Name**: qwen-code - **Description**: qwen-code is a coding agent that lives in digital world. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-07-24 - **Last Updated**: 2026-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
[![npm version](https://img.shields.io/npm/v/@qwen-code/qwen-code.svg)](https://www.npmjs.com/package/@qwen-code/qwen-code) [![License](https://img.shields.io/github/license/QwenLM/qwen-code.svg)](./LICENSE) [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org/) [![Downloads](https://img.shields.io/npm/dm/@qwen-code/qwen-code.svg)](https://www.npmjs.com/package/@qwen-code/qwen-code) QwenLM%2Fqwen-code | Trendshift **An open-source AI agent that lives in your terminal.** 中文 | Deutsch | français | 日本語 | Русский | Português (Brasil)
> 🎉 **News (2026-02-16)**: Qwen3.5-Plus is now live! Sign in via Qwen OAuth to use it directly, or get an API key from [Alibaba Cloud ModelStudio](https://modelstudio.console.alibabacloud.com?tab=doc#/doc/?type=model&url=2840914_2&modelId=group-qwen3.5-plus) to access it through the OpenAI-compatible API. Qwen Code is an open-source AI agent for the terminal, optimized for [Qwen3-Coder](https://github.com/QwenLM/Qwen3-Coder). It helps you understand large codebases, automate tedious work, and ship faster. ![](https://gw.alicdn.com/imgextra/i1/O1CN01D2DviS1wwtEtMwIzJ_!!6000000006373-2-tps-1600-900.png) ## Why Qwen Code? - **Multi-protocol, OAuth free tier**: use OpenAI / Anthropic / Gemini-compatible APIs, or sign in with Qwen OAuth for 1,000 free requests/day. - **Open-source, co-evolving**: both the framework and the Qwen3-Coder model are open-source—and they ship and evolve together. - **Agentic workflow, feature-rich**: rich built-in tools (Skills, SubAgents) for a full agentic workflow and a Claude Code-like experience. - **Terminal-first, IDE-friendly**: built for developers who live in the command line, with optional integration for VS Code, Zed, and JetBrains IDEs. ## Installation ### Quick Install (Recommended) #### Linux / macOS ```bash curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen.sh | bash ``` #### Windows (Run as Administrator CMD) ```cmd curl -fsSL -o %TEMP%\install-qwen.bat https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen.bat && %TEMP%\install-qwen.bat ``` > **Note**: It's recommended to restart your terminal after installation to ensure environment variables take effect. ### Manual Installation #### Prerequisites Make sure you have Node.js 20 or later installed. Download it from [nodejs.org](https://nodejs.org/en/download). #### NPM ```bash npm install -g @qwen-code/qwen-code@latest ``` #### Homebrew (macOS, Linux) ```bash brew install qwen-code ``` ## Quick Start ```bash # Start Qwen Code (interactive) qwen # Then, in the session: /help /auth ``` On first use, you'll be prompted to sign in. You can run `/auth` anytime to switch authentication methods. Example prompts: ```text What does this project do? Explain the codebase structure. Help me refactor this function. Generate unit tests for this module. ```
Click to watch a demo video
## Authentication Qwen Code supports two authentication methods: - **Qwen OAuth (recommended & free)**: sign in with your `qwen.ai` account in a browser. - **API-KEY**: use an API key to connect to any supported provider (OpenAI, Anthropic, Google GenAI, Alibaba Cloud Bailian, and other compatible endpoints). #### Qwen OAuth (recommended) Start `qwen`, then run: ```bash /auth ``` Choose **Qwen OAuth** and complete the browser flow. Your credentials are cached locally so you usually won't need to log in again. > **Note:** In non-interactive or headless environments (e.g., CI, SSH, containers), you typically **cannot** complete the OAuth browser login flow. In these cases, please use the API-KEY authentication method. #### API-KEY (flexible) Use this if you want more flexibility over which provider and model to use. Supports multiple protocols: - **OpenAI-compatible**: Alibaba Cloud Bailian, ModelScope, OpenAI, OpenRouter, and other OpenAI-compatible providers - **Anthropic**: Claude models - **Google GenAI**: Gemini models The **recommended** way to configure models and providers is by editing `~/.qwen/settings.json` (create it if it doesn't exist). This file lets you define all available models, API keys, and default settings in one place. ##### Quick Setup in 3 Steps **Step 1:** Create or edit `~/.qwen/settings.json` Here is a complete example: ```json { "modelProviders": { "openai": [ { "id": "qwen3-coder-plus", "name": "qwen3-coder-plus", "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1", "description": "Qwen3-Coder via Dashscope", "envKey": "DASHSCOPE_API_KEY" } ] }, "env": { "DASHSCOPE_API_KEY": "sk-xxxxxxxxxxxxx" }, "security": { "auth": { "selectedType": "openai" } }, "model": { "name": "qwen3-coder-plus" } } ``` **Step 2:** Understand each field | Field | What it does | | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | `modelProviders` | Declares which models are available and how to connect to them. Keys like `openai`, `anthropic`, `gemini` represent the API protocol. | | `modelProviders[].id` | The model ID sent to the API (e.g. `qwen3-coder-plus`, `gpt-4o`). | | `modelProviders[].envKey` | The name of the environment variable that holds your API key. | | `modelProviders[].baseUrl` | The API endpoint URL (required for non-default endpoints). | | `env` | A fallback place to store API keys (lowest priority; prefer `.env` files or `export` for sensitive keys). | | `security.auth.selectedType` | The protocol to use on startup (`openai`, `anthropic`, `gemini`, `vertex-ai`). | | `model.name` | The default model to use when Qwen Code starts. | **Step 3:** Start Qwen Code — your configuration takes effect automatically: ```bash qwen ``` Use the `/model` command at any time to switch between all configured models. ##### More Examples
Coding Plan (Alibaba Cloud Bailian) — fixed monthly fee, higher quotas ```json { "modelProviders": { "openai": [ { "id": "qwen3.5-plus", "name": "qwen3.5-plus (Coding Plan)", "baseUrl": "https://coding.dashscope.aliyuncs.com/v1", "description": "qwen3.5-plus with thinking enabled from Bailian Coding Plan", "envKey": "BAILIAN_CODING_PLAN_API_KEY", "generationConfig": { "extra_body": { "enable_thinking": true } } }, { "id": "qwen3-coder-plus", "name": "qwen3-coder-plus (Coding Plan)", "baseUrl": "https://coding.dashscope.aliyuncs.com/v1", "description": "qwen3-coder-plus from Bailian Coding Plan", "envKey": "BAILIAN_CODING_PLAN_API_KEY" }, { "id": "qwen3-coder-next", "name": "qwen3-coder-next (Coding Plan)", "baseUrl": "https://coding.dashscope.aliyuncs.com/v1", "description": "qwen3-coder-next with thinking enabled from Bailian Coding Plan", "envKey": "BAILIAN_CODING_PLAN_API_KEY", "generationConfig": { "extra_body": { "enable_thinking": true } } }, { "id": "glm-4.7", "name": "glm-4.7 (Coding Plan)", "baseUrl": "https://coding.dashscope.aliyuncs.com/v1", "description": "glm-4.7 with thinking enabled from Bailian Coding Plan", "envKey": "BAILIAN_CODING_PLAN_API_KEY", "generationConfig": { "extra_body": { "enable_thinking": true } } }, { "id": "kimi-k2.5", "name": "kimi-k2.5 (Coding Plan)", "baseUrl": "https://coding.dashscope.aliyuncs.com/v1", "description": "kimi-k2.5 with thinking enabled from Bailian Coding Plan", "envKey": "BAILIAN_CODING_PLAN_API_KEY", "generationConfig": { "extra_body": { "enable_thinking": true } } } ] }, "env": { "BAILIAN_CODING_PLAN_API_KEY": "sk-xxxxxxxxxxxxx" }, "security": { "auth": { "selectedType": "openai" } }, "model": { "name": "qwen3-coder-plus" } } ``` > Subscribe to the Coding Plan and get your API key at [Alibaba Cloud Bailian](https://modelstudio.console.aliyun.com/?tab=dashboard#/efm/coding_plan).
Multiple providers (OpenAI + Anthropic + Gemini) ```json { "modelProviders": { "openai": [ { "id": "gpt-4o", "name": "GPT-4o", "envKey": "OPENAI_API_KEY", "baseUrl": "https://api.openai.com/v1" } ], "anthropic": [ { "id": "claude-sonnet-4-20250514", "name": "Claude Sonnet 4", "envKey": "ANTHROPIC_API_KEY" } ], "gemini": [ { "id": "gemini-2.5-pro", "name": "Gemini 2.5 Pro", "envKey": "GEMINI_API_KEY" } ] }, "env": { "OPENAI_API_KEY": "sk-xxxxxxxxxxxxx", "ANTHROPIC_API_KEY": "sk-ant-xxxxxxxxxxxxx", "GEMINI_API_KEY": "AIzaxxxxxxxxxxxxx" }, "security": { "auth": { "selectedType": "openai" } }, "model": { "name": "gpt-4o" } } ```
Enable thinking mode (for supported models like qwen3.5-plus) ```json { "modelProviders": { "openai": [ { "id": "qwen3.5-plus", "name": "qwen3.5-plus (thinking)", "envKey": "DASHSCOPE_API_KEY", "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1", "generationConfig": { "extra_body": { "enable_thinking": true } } } ] }, "env": { "DASHSCOPE_API_KEY": "sk-xxxxxxxxxxxxx" }, "security": { "auth": { "selectedType": "openai" } }, "model": { "name": "qwen3.5-plus" } } ```
> **Tip:** You can also set API keys via `export` in your shell or `.env` files, which take higher priority than `settings.json` → `env`. See the [authentication guide](https://qwenlm.github.io/qwen-code-docs/en/users/configuration/auth/) for full details. > **Security note:** Never commit API keys to version control. The `~/.qwen/settings.json` file is in your home directory and should stay private. ## Usage As an open-source terminal agent, you can use Qwen Code in four primary ways: 1. Interactive mode (terminal UI) 2. Headless mode (scripts, CI) 3. IDE integration (VS Code, Zed) 4. TypeScript SDK #### Interactive mode ```bash cd your-project/ qwen ``` Run `qwen` in your project folder to launch the interactive terminal UI. Use `@` to reference local files (for example `@src/main.ts`). #### Headless mode ```bash cd your-project/ qwen -p "your question" ``` Use `-p` to run Qwen Code without the interactive UI—ideal for scripts, automation, and CI/CD. Learn more: [Headless mode](https://qwenlm.github.io/qwen-code-docs/en/users/features/headless). #### IDE integration Use Qwen Code inside your editor (VS Code, Zed, and JetBrains IDEs): - [Use in VS Code](https://qwenlm.github.io/qwen-code-docs/en/users/integration-vscode/) - [Use in Zed](https://qwenlm.github.io/qwen-code-docs/en/users/integration-zed/) - [Use in JetBrains IDEs](https://qwenlm.github.io/qwen-code-docs/en/users/integration-jetbrains/) #### TypeScript SDK Build on top of Qwen Code with the TypeScript SDK: - [Use the Qwen Code SDK](./packages/sdk-typescript/README.md) ## Commands & Shortcuts ### Session Commands - `/help` - Display available commands - `/clear` - Clear conversation history - `/compress` - Compress history to save tokens - `/stats` - Show current session information - `/bug` - Submit a bug report - `/exit` or `/quit` - Exit Qwen Code ### Keyboard Shortcuts - `Ctrl+C` - Cancel current operation - `Ctrl+D` - Exit (on empty line) - `Up/Down` - Navigate command history > Learn more about [Commands](https://qwenlm.github.io/qwen-code-docs/en/users/features/commands/) > > **Tip**: In YOLO mode (`--yolo`), vision switching happens automatically without prompts when images are detected. Learn more about [Approval Mode](https://qwenlm.github.io/qwen-code-docs/en/users/features/approval-mode/) ## Configuration Qwen Code can be configured via `settings.json`, environment variables, and CLI flags. | File | Scope | Description | | ----------------------- | ------------- | --------------------------------------------------------------------------------------- | | `~/.qwen/settings.json` | User (global) | Applies to all your Qwen Code sessions. **Recommended for `modelProviders` and `env`.** | | `.qwen/settings.json` | Project | Applies only when running Qwen Code in this project. Overrides user settings. | The most commonly used top-level fields in `settings.json`: | Field | Description | | ---------------------------- | ---------------------------------------------------------------------------------------------------- | | `modelProviders` | Define available models per protocol (`openai`, `anthropic`, `gemini`, `vertex-ai`). | | `env` | Fallback environment variables (e.g. API keys). Lower priority than shell `export` and `.env` files. | | `security.auth.selectedType` | The protocol to use on startup (e.g. `openai`). | | `model.name` | The default model to use when Qwen Code starts. | > See the [Authentication](#api-key-flexible) section above for complete `settings.json` examples, and the [settings reference](https://qwenlm.github.io/qwen-code-docs/en/users/configuration/settings/) for all available options. ## Benchmark Results ### Terminal-Bench Performance | Agent | Model | Accuracy | | --------- | ------------------ | -------- | | Qwen Code | Qwen3-Coder-480A35 | 37.5% | | Qwen Code | Qwen3-Coder-30BA3B | 31.3% | ## Ecosystem Looking for a graphical interface? - [**AionUi**](https://github.com/iOfficeAI/AionUi) A modern GUI for command-line AI tools including Qwen Code - [**Gemini CLI Desktop**](https://github.com/Piebald-AI/gemini-cli-desktop) A cross-platform desktop/web/mobile UI for Qwen Code ## Troubleshooting If you encounter issues, check the [troubleshooting guide](https://qwenlm.github.io/qwen-code-docs/en/users/support/troubleshooting/). To report a bug from within the CLI, run `/bug` and include a short title and repro steps. ## Connect with Us - Discord: https://discord.gg/ycKBjdNd - Dingtalk: https://qr.dingtalk.com/action/joingroup?code=v1,k1,+FX6Gf/ZDlTahTIRi8AEQhIaBlqykA0j+eBKKdhLeAE=&_dt_no_comment=1&origin=1 ## Acknowledgments This project is based on [Google Gemini CLI](https://github.com/google-gemini/gemini-cli). We acknowledge and appreciate the excellent work of the Gemini CLI team. Our main contribution focuses on parser-level adaptations to better support Qwen-Coder models.