@qwen-code/qwen-code 0.14.4 → 0.14.5-nightly.20260417.12b24e2d2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,7 +20,9 @@
20
20
 
21
21
  ## 🎉 News
22
22
 
23
- - **2026-04-13**: Qwen OAuth free tier policy update: daily quota adjusted to 100 requests/day (from 1,000). The free tier will be discontinued on 2026-04-15. Consider using [OpenRouter](https://openrouter.ai), [Fireworks AI](https://app.fireworks.ai), or [Alibaba Cloud ModelStudio](https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model&url=2840914_2&modelId=qwen3.6-plus) as alternatives.
23
+ - **2026-04-15**: Qwen OAuth free tier has been discontinued. To continue using Qwen Code, switch to [Alibaba Cloud Coding Plan](https://modelstudio.console.alibabacloud.com/?tab=coding-plan#/efm/coding-plan-index), [OpenRouter](https://openrouter.ai), [Fireworks AI](https://app.fireworks.ai), or bring your own API key. Run `qwen auth` to configure.
24
+
25
+ - **2026-04-13**: Qwen OAuth free tier policy update: daily quota adjusted to 100 requests/day (from 1,000).
24
26
 
25
27
  - **2026-04-02**: Qwen3.6-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/ap-southeast-1?tab=doc#/doc/?type=model&url=2840914_2&modelId=qwen3.6-plus) to access it through the OpenAI-compatible API.
26
28
 
@@ -30,7 +32,7 @@
30
32
 
31
33
  Qwen Code is an open-source AI agent for the terminal, optimized for Qwen series models. It helps you understand large codebases, automate tedious work, and ship faster.
32
34
 
33
- - **Multi-protocol, OAuth free tier**: use OpenAI / Anthropic / Gemini-compatible APIs, or sign in with Qwen OAuth for 100 free requests/day (free tier ending 2026-04-15). After that, switch to [OpenRouter](https://openrouter.ai), [Fireworks AI](https://app.fireworks.ai), or [Alibaba Cloud ModelStudio](https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model&url=2840914_2&modelId=qwen3.6-plus).
35
+ - **Multi-protocol, flexible providers**: use OpenAI / Anthropic / Gemini-compatible APIs, [Alibaba Cloud Coding Plan](https://modelstudio.console.alibabacloud.com/?tab=coding-plan#/efm/coding-plan-index), [OpenRouter](https://openrouter.ai), [Fireworks AI](https://app.fireworks.ai), or bring your own API key.
34
36
  - **Open-source, co-evolving**: both the framework and the Qwen3-Coder model are open-source—and they ship and evolve together.
35
37
  - **Agentic workflow, feature-rich**: rich built-in tools (Skills, SubAgents) for a full agentic workflow and a Claude Code-like experience.
36
38
  - **Terminal-first, IDE-friendly**: built for developers who live in the command line, with optional integration for VS Code, Zed, and JetBrains IDEs.
@@ -2,18 +2,20 @@
2
2
 
3
3
  Qwen Code supports three authentication methods. Pick the one that matches how you want to run the CLI:
4
4
 
5
- - **Qwen OAuth**: sign in with your `qwen.ai` account in a browser. Free with a daily quota.
5
+ - **Qwen OAuth**: sign in with your `qwen.ai` account in a browser. **Free tier discontinued on 2026-04-15** — switch to another method.
6
6
  - **Alibaba Cloud Coding Plan**: use an API key from Alibaba Cloud. Paid subscription with diverse model options and higher quotas.
7
7
  - **API Key**: bring your own API key. Flexible to your own needs — supports OpenAI, Anthropic, Gemini, and other compatible endpoints.
8
8
 
9
- ## Option 1: Qwen OAuth (Free)
9
+ ## Option 1: Qwen OAuth (Discontinued)
10
10
 
11
- Use this if you want the simplest setup and you're using Qwen models.
11
+ > [!warning]
12
+ >
13
+ > The Qwen OAuth free tier was discontinued on 2026-04-15. Existing cached tokens may continue working briefly, but new requests will be rejected. Please switch to Alibaba Cloud Coding Plan, [OpenRouter](https://openrouter.ai), [Fireworks AI](https://app.fireworks.ai), or another provider. Run `qwen auth` to configure.
12
14
 
13
15
  - **How it works**: on first start, Qwen Code opens a browser login page. After you finish, credentials are cached locally so you usually won't need to log in again.
14
16
  - **Requirements**: a `qwen.ai` account + internet access (at least for the first login).
15
17
  - **Benefits**: no API key management, automatic credential refresh.
16
- - **Cost & quota**: free, with a quota of **60 requests/minute** and **100 requests/day**. Note: the free tier will be discontinued on 2026-04-15. After that, consider switching to [OpenRouter](https://openrouter.ai), [Fireworks AI](https://app.fireworks.ai), or [Alibaba Cloud ModelStudio](https://modelstudio.console.alibabacloud.com/ap-southeast-1?tab=doc#/doc/?type=model&url=2840914_2&modelId=qwen3.6-plus) — run `qwen auth` to configure your new provider.
18
+ - **Cost & quota**: the free tier has been discontinued as of 2026-04-15.
17
19
 
18
20
  Start the CLI and follow the browser flow:
19
21
 
@@ -327,8 +329,8 @@ You'll see a selector with arrow-key navigation:
327
329
  ```
328
330
  Select authentication method:
329
331
 
330
- > Qwen OAuth - Free · 100 requests/day · Ending 2026-04-15
331
332
  Alibaba Cloud Coding Plan - Paid · Up to 6,000 requests/5 hrs · All Alibaba Cloud Coding Plan Models
333
+ Qwen OAuth - Discontinued — switch to Coding Plan or API Key
332
334
 
333
335
  (Use ↑ ↓ arrows to navigate, Enter to select, Ctrl+C to exit)
334
336
  ```
@@ -94,26 +94,26 @@ Settings are organized into categories. All settings should be placed within the
94
94
 
95
95
  #### ui
96
96
 
97
- | Setting | Type | Description | Default |
98
- | --------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
99
- | `ui.theme` | string | The color theme for the UI. See [Themes](../configuration/themes) for available options. | `undefined` |
100
- | `ui.customThemes` | object | Custom theme definitions. | `{}` |
101
- | `ui.statusLine` | object | Custom status line configuration. A shell command whose output is shown in the footer's left section. See [Status Line](../features/status-line). | `undefined` |
102
- | `ui.hideWindowTitle` | boolean | Hide the window title bar. | `false` |
103
- | `ui.hideTips` | boolean | Hide all tips (startup and post-response) in the UI. See [Contextual Tips](../features/tips). | `false` |
104
- | `ui.hideBanner` | boolean | Hide the application banner. | `false` |
105
- | `ui.hideFooter` | boolean | Hide the footer from the UI. | `false` |
106
- | `ui.showMemoryUsage` | boolean | Display memory usage information in the UI. | `false` |
107
- | `ui.showLineNumbers` | boolean | Show line numbers in code blocks in the CLI output. | `true` |
108
- | `ui.showCitations` | boolean | Show citations for generated text in the chat. | `true` |
109
- | `ui.compactMode` | boolean | Hide tool output and thinking for a cleaner view. Toggle with `Ctrl+O` during a session. When enabled, a `compact` indicator appears in the footer. The setting persists across sessions. | `false` |
110
- | `enableWelcomeBack` | boolean | Show welcome back dialog when returning to a project with conversation history. When enabled, Qwen Code will automatically detect if you're returning to a project with a previously generated project summary (`.qwen/PROJECT_SUMMARY.md`) and show a dialog allowing you to continue your previous conversation or start fresh. This feature integrates with the `/summary` command and quit confirmation dialog. | `true` |
111
- | `ui.accessibility.enableLoadingPhrases` | boolean | Enable loading phrases (disable for accessibility). | `true` |
112
- | `ui.accessibility.screenReader` | boolean | Enables screen reader mode, which adjusts the TUI for better compatibility with screen readers. | `false` |
113
- | `ui.customWittyPhrases` | array of strings | A list of custom phrases to display during loading states. When provided, the CLI will cycle through these phrases instead of the default ones. | `[]` |
114
- | `ui.enableFollowupSuggestions` | boolean | Enable [followup suggestions](../features/followup-suggestions) that predict what you want to type next after the model responds. Suggestions appear as ghost text and can be accepted with Tab, Enter, or Right Arrow. | `true` |
115
- | `ui.enableCacheSharing` | boolean | Use cache-aware forked queries for suggestion generation. Reduces cost on providers that support prefix caching (experimental). | `true` |
116
- | `ui.enableSpeculation` | boolean | Speculatively execute accepted suggestions before submission. Results appear instantly when you accept (experimental). | `false` |
97
+ | Setting | Type | Description | Default |
98
+ | --------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
99
+ | `ui.theme` | string | The color theme for the UI. See [Themes](../configuration/themes) for available options. | `undefined` |
100
+ | `ui.customThemes` | object | Custom theme definitions. | `{}` |
101
+ | `ui.statusLine` | object | Custom status line configuration. A shell command whose output is shown in the footer's left section. See [Status Line](../features/status-line). | `undefined` |
102
+ | `ui.hideWindowTitle` | boolean | Hide the window title bar. | `false` |
103
+ | `ui.hideTips` | boolean | Hide all tips (startup and post-response) in the UI. See [Contextual Tips](../features/tips). | `false` |
104
+ | `ui.hideBanner` | boolean | Hide the application banner. | `false` |
105
+ | `ui.hideFooter` | boolean | Hide the footer from the UI. | `false` |
106
+ | `ui.showMemoryUsage` | boolean | Display memory usage information in the UI. | `false` |
107
+ | `ui.showLineNumbers` | boolean | Show line numbers in code blocks in the CLI output. | `true` |
108
+ | `ui.showCitations` | boolean | Show citations for generated text in the chat. | `true` |
109
+ | `ui.compactMode` | boolean | Hide tool output and thinking for a cleaner view. Toggle with `Ctrl+O` during a session or via the Settings dialog. Tool approval prompts are never hidden, even in compact mode. The setting persists across sessions. | `false` |
110
+ | `enableWelcomeBack` | boolean | Show welcome back dialog when returning to a project with conversation history. When enabled, Qwen Code will automatically detect if you're returning to a project with a previously generated project summary (`.qwen/PROJECT_SUMMARY.md`) and show a dialog allowing you to continue your previous conversation or start fresh. If you choose **Start new chat session**, that choice is remembered for the current project until the project summary changes. This feature integrates with the `/summary` command and quit confirmation dialog. | `true` |
111
+ | `ui.accessibility.enableLoadingPhrases` | boolean | Enable loading phrases (disable for accessibility). | `true` |
112
+ | `ui.accessibility.screenReader` | boolean | Enables screen reader mode, which adjusts the TUI for better compatibility with screen readers. | `false` |
113
+ | `ui.customWittyPhrases` | array of strings | A list of custom phrases to display during loading states. When provided, the CLI will cycle through these phrases instead of the default ones. | `[]` |
114
+ | `ui.enableFollowupSuggestions` | boolean | Enable [followup suggestions](../features/followup-suggestions) that predict what you want to type next after the model responds. Suggestions appear as ghost text and can be accepted with Tab, Enter, or Right Arrow. | `true` |
115
+ | `ui.enableCacheSharing` | boolean | Use cache-aware forked queries for suggestion generation. Reduces cost on providers that support prefix caching (experimental). | `true` |
116
+ | `ui.enableSpeculation` | boolean | Speculatively execute accepted suggestions before submission. Results appear instantly when you accept (experimental). | `false` |
117
117
 
118
118
  #### ide
119
119
 
@@ -254,6 +254,15 @@ If you are experiencing performance issues with file searching (e.g., with `@` c
254
254
  >
255
255
  > **Migrating from `tools.core` / `tools.exclude` / `tools.allowed`:** These legacy settings are **deprecated** and automatically migrated to the new `permissions` format on first load. Prefer configuring `permissions.allow` / `permissions.deny` directly. Use `/permissions` to manage rules interactively.
256
256
 
257
+ #### memory
258
+
259
+ | Setting | Type | Description | Default |
260
+ | -------------------------------- | ------- | --------------------------------------------------------------------------------- | ------- |
261
+ | `memory.enableManagedAutoMemory` | boolean | Enable background extraction of memories from conversations. | `true` |
262
+ | `memory.enableManagedAutoDream` | boolean | Enable automatic consolidation (deduplication and cleanup) of collected memories. | `false` |
263
+
264
+ See [Memory](../features/memory) for details on how auto-memory works and how to use the `/memory`, `/remember`, and `/dream` commands.
265
+
257
266
  #### permissions
258
267
 
259
268
  The permissions system provides fine-grained control over which tools can run, which require confirmation, and which are blocked.
@@ -527,6 +536,7 @@ For authentication-related variables (like `OPENAI_*`) and the recommended `.qwe
527
536
  | `CODE_ASSIST_ENDPOINT` | Specifies the endpoint for the code assist server. | This is useful for development and testing. |
528
537
  | `QWEN_CODE_MAX_OUTPUT_TOKENS` | Overrides the default maximum output tokens per response. When not set, Qwen Code uses an adaptive strategy: starts with 8K tokens and automatically retries with 64K if the response is truncated. Set this to a specific value (e.g., `16000`) to use a fixed limit instead. | Takes precedence over the capped default (8K) but is overridden by `samplingParams.max_tokens` in settings. Disables automatic escalation when set. Example: `export QWEN_CODE_MAX_OUTPUT_TOKENS=16000` |
529
538
  | `TAVILY_API_KEY` | Your API key for the Tavily web search service. | Used to enable the `web_search` tool functionality. Example: `export TAVILY_API_KEY="tvly-your-api-key-here"` |
539
+ | `QWEN_CODE_PROFILE_STARTUP` | Set to `1` to enable startup performance profiling. Writes a JSON timing report to `~/.qwen/startup-perf/` with per-phase durations. | Only active inside the sandbox child process. Zero overhead when not set. Example: `export QWEN_CODE_PROFILE_STARTUP=1` |
530
540
 
531
541
  ## Command-Line Arguments
532
542
 
@@ -5,6 +5,7 @@ export default {
5
5
  'sub-agents': 'SubAgents',
6
6
  arena: 'Agent Arena',
7
7
  skills: 'Skills',
8
+ memory: 'Memory',
8
9
  headless: 'Headless Mode',
9
10
  checkpointing: {
10
11
  display: 'hidden',
@@ -71,7 +71,10 @@ Commands for managing AI tools and models.
71
71
  | `/model` | Switch model used in current session | `/model` |
72
72
  | `/model --fast` | Set a lighter model for prompt suggestions | `/model --fast qwen3-coder-flash` |
73
73
  | `/extensions` | List all active extensions in current session | `/extensions` |
74
- | `/memory` | Manage AI's instruction context | `/memory add Important Info` |
74
+ | `/memory` | Open the Memory Manager dialog | `/memory` |
75
+ | `/remember` | Save a durable memory | `/remember Prefer terse responses` |
76
+ | `/forget` | Remove matching entries from auto-memory | `/forget <query>` |
77
+ | `/dream` | Manually run auto-memory consolidation | `/dream` |
75
78
 
76
79
  ### 1.5 Built-in Skills
77
80