@qwen-code/qwen-code 0.15.10 → 0.15.11-preview.1

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
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@qwen-code/qwen-code.svg)](https://www.npmjs.com/package/@qwen-code/qwen-code)
4
4
  [![License](https://img.shields.io/github/license/QwenLM/qwen-code.svg)](./LICENSE)
5
- [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org/)
5
+ [![Node.js Version](https://img.shields.io/badge/node-%3E%3D22.0.0-brightgreen.svg)](https://nodejs.org/)
6
6
  [![Downloads](https://img.shields.io/npm/dm/@qwen-code/qwen-code.svg)](https://www.npmjs.com/package/@qwen-code/qwen-code)
7
7
 
8
8
  <a href="https://trendshift.io/repositories/15287" target="_blank"><img src="https://trendshift.io/api/badge/repositories/15287" alt="QwenLM%2Fqwen-code | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
@@ -63,7 +63,7 @@ powershell -Command "Invoke-WebRequest 'https://qwen-code-assets.oss-cn-hangzhou
63
63
 
64
64
  #### Prerequisites
65
65
 
66
- Make sure you have Node.js 20 or later installed. Download it from [nodejs.org](https://nodejs.org/en/download).
66
+ Make sure you have Node.js 22 or later installed. Download it from [nodejs.org](https://nodejs.org/en/download).
67
67
 
68
68
  #### NPM
69
69
 
@@ -10,7 +10,7 @@ Qwen Code supports three authentication methods. Pick the one that matches how y
10
10
 
11
11
  > [!warning]
12
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.
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` and use `/auth` to configure.
14
14
 
15
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.
16
16
  - **Requirements**: a `qwen.ai` account + internet access (at least for the first login).
@@ -23,15 +23,11 @@ Start the CLI and follow the browser flow:
23
23
  qwen
24
24
  ```
25
25
 
26
- Or authenticate directly without starting a session:
27
-
28
- ```bash
29
- qwen auth qwen-oauth
30
- ```
26
+ Then run `/auth` and choose the OAuth provider from the interactive dialog.
31
27
 
32
28
  > [!note]
33
29
  >
34
- > In non-interactive or headless environments (e.g., CI, SSH, containers), you typically **cannot** complete the OAuth browser login flow.
30
+ > In non-interactive or headless environments (e.g., CI, SSH, containers), you typically **cannot** complete the OAuth browser login flow.
35
31
  > In these cases, please use the Alibaba Cloud Coding Plan or API Key authentication method.
36
32
 
37
33
  ## 💳 Option 2: Alibaba Cloud Coding Plan
@@ -52,23 +48,21 @@ Alibaba Cloud Coding Plan is available in two regions:
52
48
 
53
49
  ### Interactive setup
54
50
 
55
- You can set up Coding Plan authentication in two ways:
56
-
57
- **Option A: From the terminal (recommended for first-time setup)**
51
+ Enter `qwen` in the terminal to launch Qwen Code, then run the `/auth` command and select **Alibaba Cloud Coding Plan**. Choose your region, then enter your `sk-sp-xxxxxxxxx` key.
58
52
 
59
- ```bash
60
- # Interactive — prompts for region and API key
61
- qwen auth coding-plan
53
+ After authentication, use the `/model` command to switch between all Alibaba Cloud Coding Plan supported models (including qwen3.5-plus, qwen3-coder-plus, qwen3-coder-next, qwen3-max, glm-4.7, and kimi-k2.5).
62
54
 
63
- # Or non-interactive pass region and key directly
64
- qwen auth coding-plan --region china --key sk-sp-xxxxxxxxx
65
- ```
55
+ ### Headless or scripted setup
66
56
 
67
- **Option B: Inside a Qwen Code session**
57
+ For CI, containers, or scripts, configure Coding Plan with environment variables or `settings.json` instead of the removed `qwen auth coding-plan` command.
68
58
 
69
- Enter `qwen` in the terminal to launch Qwen Code, then run the `/auth` command and select **Alibaba Cloud Coding Plan**. Choose your region, then enter your `sk-sp-xxxxxxxxx` key.
59
+ ```bash
60
+ export BAILIAN_CODING_PLAN_API_KEY="sk-sp-xxxxxxxxx"
61
+ export OPENAI_BASE_URL="https://coding.dashscope.aliyuncs.com/v1"
62
+ export OPENAI_MODEL="qwen3-coder-plus"
63
+ ```
70
64
 
71
- After authentication, use the `/model` command to switch between all Alibaba Cloud Coding Plan supported models (including qwen3.5-plus, qwen3-coder-plus, qwen3-coder-next, qwen3-max, glm-4.7, and kimi-k2.5).
65
+ Use `https://coding.dashscope.aliyuncs.com/v1` for the China (Beijing) endpoint, or `https://coding-intl.dashscope.aliyuncs.com/v1` for the international endpoint.
72
66
 
73
67
  ### Alternative: configure via `settings.json`
74
68
 
@@ -312,59 +306,20 @@ qwen --model "qwen3-coder-plus"
312
306
  qwen --model "qwen3.5-plus"
313
307
  ```
314
308
 
315
- ## `qwen auth` CLI command
309
+ ## Removed `qwen auth` CLI command
316
310
 
317
- In addition to the in-session `/auth` slash command, Qwen Code provides a standalone `qwen auth` CLI command for managing authentication directly from the terminal — without starting an interactive session first.
311
+ The standalone `qwen auth` CLI command has been removed. Use these replacements instead:
318
312
 
319
- ### Interactive mode
320
-
321
- Run `qwen auth` without arguments to get an interactive menu:
322
-
323
- ```bash
324
- qwen auth
325
- ```
313
+ | Previous use case | Replacement |
314
+ | -------------------------------- | ------------------------------------------------------------------------------------------- |
315
+ | Interactive authentication setup | Run `qwen`, then use `/auth` |
316
+ | Coding Plan setup | Use `/auth`, or set `BAILIAN_CODING_PLAN_API_KEY` with the Coding Plan base URL |
317
+ | OpenRouter setup | Use `/auth`, or set `OPENROUTER_API_KEY` and `OPENAI_BASE_URL=https://openrouter.ai/api/v1` |
318
+ | API-key or custom provider setup | Configure `~/.qwen/settings.json`, `.env`, or provider-specific environment variables |
319
+ | Check current authentication | Run `/doctor` inside Qwen Code |
320
+ | OAuth browser flow | Run `qwen` interactively and use `/auth`; OAuth cannot be configured with env vars alone |
326
321
 
327
- You'll see a selector with arrow-key navigation:
328
-
329
- ```
330
- Select authentication method:
331
-
332
- Alibaba Cloud Coding Plan - Paid · Up to 6,000 requests/5 hrs · All Alibaba Cloud Coding Plan Models
333
- API Key - Bring your own API key
334
- Qwen OAuth - Discontinued — switch to Coding Plan or API Key
335
-
336
- (Use ↑ ↓ arrows to navigate, Enter to select, Ctrl+C to exit)
337
- ```
338
-
339
- ### Subcommands
340
-
341
- | Command | Description |
342
- | ---------------------------------------------------- | ------------------------------------------------- |
343
- | `qwen auth` | Interactive authentication setup |
344
- | `qwen auth coding-plan` | Authenticate with Alibaba Cloud Coding Plan |
345
- | `qwen auth coding-plan --region china --key sk-sp-…` | Non-interactive Coding Plan setup (for scripting) |
346
- | `qwen auth api-key` | Authenticate with an API key |
347
- | `qwen auth qwen-oauth` | Authenticate with Qwen OAuth (discontinued) |
348
- | `qwen auth status` | Show current authentication status |
349
-
350
- **Examples:**
351
-
352
- ```bash
353
- # Authenticate with Qwen OAuth directly
354
- qwen auth qwen-oauth
355
-
356
- # Set up Coding Plan interactively (prompts for region and key)
357
- qwen auth coding-plan
358
-
359
- # Set up Coding Plan non-interactively (useful for CI/scripting)
360
- qwen auth coding-plan --region china --key sk-sp-xxxxxxxxx
361
-
362
- # Set up API key (ModelStudio Standard or custom provider)
363
- qwen auth api-key
364
-
365
- # Check your current auth configuration
366
- qwen auth status
367
- ```
322
+ Legacy invocations such as `qwen auth status` now print a removal notice with these migration paths.
368
323
 
369
324
  ## Security notes
370
325
 
@@ -479,7 +479,6 @@ Configures logging and metrics collection for Qwen Code. For more information, s
479
479
  | `telemetry.logPrompts` | boolean | Whether or not to include the content of user prompts in the logs. | |
480
480
  | `telemetry.includeSensitiveSpanAttributes` | boolean | Whether to include `prompt`, `function_args`, and `response_text` in spans created by the log-to-span bridge. Only controls bridge spans; OTel logs and other telemetry sinks may still receive `response_text`. | `false` |
481
481
  | `telemetry.outfile` | string | The file to write telemetry to when `target` is `local`. | |
482
- | `telemetry.useCollector` | boolean | Whether to use an external OTLP collector. | |
483
482
 
484
483
  ### Example `settings.json`
485
484
 
@@ -579,7 +578,6 @@ For authentication-related variables (like `OPENAI_*`) and the recommended `.qwe
579
578
  | `QWEN_TELEMETRY_LOG_PROMPTS` | Set to `true` or `1` to enable or disable logging of user prompts. Any other value is treated as disabling it. | Overrides the `telemetry.logPrompts` setting. |
580
579
  | `QWEN_TELEMETRY_INCLUDE_SENSITIVE_SPAN_ATTRIBUTES` | Set to `true` or `1` to include `prompt`, `function_args`, and `response_text` in spans created by the log-to-span bridge. Any other value disables it. | Overrides the `telemetry.includeSensitiveSpanAttributes` setting. Only controls bridge spans; OTel logs and other telemetry sinks may still receive `response_text`. |
581
580
  | `QWEN_TELEMETRY_OUTFILE` | Sets the file path to write telemetry to when the target is `local`. | Overrides the `telemetry.outfile` setting. |
582
- | `QWEN_TELEMETRY_USE_COLLECTOR` | Set to `true` or `1` to enable or disable using an external OTLP collector. Any other value is treated as disabling it. | Overrides the `telemetry.useCollector` setting. |
583
581
  | `QWEN_SANDBOX` | Alternative to the `sandbox` setting in `settings.json`. | Accepts `true`, `false`, `docker`, `podman`, or a custom command string. |
584
582
  | `QWEN_SANDBOX_IMAGE` | Overrides sandbox image selection for Docker/Podman. | Takes precedence over `tools.sandboxImage`. |
585
583
  | `SEATBELT_PROFILE` | (macOS specific) Switches the Seatbelt (`sandbox-exec`) profile on macOS. | `permissive-open`: (Default) Restricts writes to the project folder (and a few other folders, see `packages/cli/src/utils/sandbox-macos-permissive-open.sb`) but allows other operations. `strict`: Uses a strict profile that declines operations by default. `<profile_name>`: Uses a custom profile. To define a custom profile, create a file named `sandbox-macos-<profile_name>.sb` in your project's `.qwen/` directory (e.g., `my-project/.qwen/sandbox-macos-custom.sb`). |
@@ -658,7 +656,7 @@ Here's a conceptual example of what a context file at the root of a TypeScript p
658
656
  - When generating new TypeScript code, please follow the existing coding style.
659
657
  - Ensure all new functions and classes have JSDoc comments.
660
658
  - Prefer functional programming paradigms where appropriate.
661
- - All code should be compatible with TypeScript 5.0 and Node.js 20+.
659
+ - All code should be compatible with TypeScript 5.0 and Node.js 22+.
662
660
 
663
661
  ## Coding Style:
664
662
  - Use 2 spaces for indentation.
@@ -98,7 +98,7 @@ jobs:
98
98
  - name: Set up Node.js
99
99
  uses: actions/setup-node@v3
100
100
  with:
101
- node-version: '20'
101
+ node-version: '22'
102
102
 
103
103
  - name: Install dependencies
104
104
  run: npm ci
@@ -45,13 +45,14 @@ Commands for adjusting interface appearance and work environment.
45
45
 
46
46
  Commands specifically for controlling interface and output language.
47
47
 
48
- | Command | Description | Usage Examples |
49
- | --------------------- | -------------------------------- | -------------------------- |
50
- | `/language` | View or change language settings | `/language` |
51
- | → `ui [language]` | Set UI interface language | `/language ui zh-CN` |
52
- | → `output [language]` | Set LLM output language | `/language output Chinese` |
53
-
54
- - Available built-in UI languages: `zh-CN` (Simplified Chinese), `en-US` (English), `ru-RU` (Russian), `de-DE` (German)
48
+ | Command | Description | Usage Examples |
49
+ | --------------------- | --------------------------------------------------------------------------- | -------------------------- |
50
+ | `/language` | View or change language settings | `/language` |
51
+ | → `ui [language]` | Set UI interface language | `/language ui zh-CN` |
52
+ | → `output [language]` | Set LLM output language | `/language output Chinese` |
53
+ | → `translate on/off` | Toggle AI translation for dynamic slash command descriptions (default: off) | `/language translate on` |
54
+
55
+ - Available built-in UI languages: `zh-CN` (Simplified Chinese), `en-US` (English), `ru-RU` (Russian), `de-DE` (German), `ja-JP` (Japanese), `pt-BR` (Portuguese - Brazil), `fr-FR` (French), `ca-ES` (Catalan)
55
56
  - Output language examples: `Chinese`, `English`, `Japanese`, etc.
56
57
 
57
58
  ### 1.4 Tool and Model Management
@@ -233,22 +234,18 @@ Commands for obtaining information and performing system settings.
233
234
  | `Ctrl/cmd+Z` | Undo input | Text editing |
234
235
  | `Ctrl/cmd+Shift+Z` | Redo input | Text editing |
235
236
 
236
- ### 1.10 CLI Auth Subcommands
237
+ ### 1.10 Authentication Commands
237
238
 
238
- In addition to the in-session `/auth` slash command, Qwen Code provides standalone CLI subcommands for managing authentication directly from the terminal:
239
+ Use `/auth` inside a Qwen Code session to configure authentication. Use `/doctor` to inspect the current authentication and environment status.
239
240
 
240
- | Command | Description |
241
- | ---------------------------------------------------- | ------------------------------------------------------------- |
242
- | `qwen auth` | Interactive authentication setup |
243
- | `qwen auth coding-plan` | Authenticate with Alibaba Cloud Coding Plan |
244
- | `qwen auth coding-plan --region china --key sk-sp-…` | Non-interactive Coding Plan setup (for scripting) |
245
- | `qwen auth api-key` | Authenticate with an API key |
246
- | `qwen auth qwen-oauth` | ~~Authenticate with Qwen OAuth~~ (discontinued on 2026-04-15) |
247
- | `qwen auth status` | Show current authentication status |
241
+ | Command | Description |
242
+ | --------- | ------------------------------------------ |
243
+ | `/auth` | Configure authentication interactively |
244
+ | `/doctor` | Show authentication and environment checks |
248
245
 
249
- > [!tip]
246
+ > [!note]
250
247
  >
251
- > These commands run outside of a Qwen Code session. Use them to configure authentication before starting a session, or in scripts and CI environments. See the [Authentication](../configuration/auth) page for full details.
248
+ > The standalone `qwen auth` CLI command has been removed. Legacy invocations such as `qwen auth status` print a removal notice with migration guidance. See the [Authentication](../configuration/auth) page for full details.
252
249
 
253
250
  ## 2. @ Commands (Introducing Files)
254
251
 
@@ -26,6 +26,9 @@ Use the `/language ui` command:
26
26
  /language ui ru-RU # Russian
27
27
  /language ui de-DE # German
28
28
  /language ui ja-JP # Japanese
29
+ /language ui pt-BR # Portuguese (Brazil)
30
+ /language ui fr-FR # French
31
+ /language ui ca-ES # Catalan
29
32
  ```
30
33
 
31
34
  Aliases are also supported:
@@ -36,6 +39,9 @@ Aliases are also supported:
36
39
  /language ui ru # Russian
37
40
  /language ui de # German
38
41
  /language ui ja # Japanese
42
+ /language ui pt # Portuguese
43
+ /language ui fr # French
44
+ /language ui ca # Catalan
39
45
  ```
40
46
 
41
47
  ### Auto-detection
@@ -49,6 +55,22 @@ Detection priority:
49
55
  3. System locale via JavaScript Intl API
50
56
  4. Default: English
51
57
 
58
+ ### Dynamic Command Translation
59
+
60
+ Dynamic slash command descriptions from skills, extensions, file commands, and
61
+ MCP prompts can be translated with AI. This is **off by default** to avoid
62
+ unexpected model calls, latency, and token usage.
63
+
64
+ ```bash
65
+ /language translate status # Show current status
66
+ /language translate on # Enable AI translation for dynamic descriptions
67
+ /language translate off # Disable AI translation
68
+ ```
69
+
70
+ Use `/language translate cache refresh` to re-translate cached dynamic
71
+ descriptions after enabling translation, or `/language translate cache clear` to
72
+ remove cached translations.
73
+
52
74
  ## LLM Output Language
53
75
 
54
76
  The LLM output language controls what language the AI assistant responds in, regardless of what language you type your questions in.
@@ -66,6 +88,9 @@ On first startup, if no `output-language.md` file exists, Qwen Code automaticall
66
88
  - System locale `ru` creates a rule for Russian responses
67
89
  - System locale `de` creates a rule for German responses
68
90
  - System locale `ja` creates a rule for Japanese responses
91
+ - System locale `pt` creates a rule for Portuguese responses
92
+ - System locale `fr` creates a rule for French responses
93
+ - System locale `ca` creates a rule for Catalan responses
69
94
 
70
95
  ### Manual Setting
71
96
 
@@ -9,13 +9,17 @@
9
9
 
10
10
  ### Install Qwen Code:
11
11
 
12
+ The recommended installer uses a standalone archive when one is available for
13
+ your platform. If it falls back to npm, Node.js 20 or later with npm must be
14
+ available on PATH.
15
+
12
16
  **Linux / macOS**
13
17
 
14
18
  ```sh
15
19
  curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen.sh | bash
16
20
  ```
17
21
 
18
- **Windows (Run as Administrator)**
22
+ **Windows**
19
23
 
20
24
  ```cmd
21
25
  powershell -Command "Invoke-WebRequest 'https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen.bat' -OutFile (Join-Path $env:TEMP 'install-qwen.bat'); & (Join-Path $env:TEMP 'install-qwen.bat')"
@@ -23,7 +27,11 @@ powershell -Command "Invoke-WebRequest 'https://qwen-code-assets.oss-cn-hangzhou
23
27
 
24
28
  > [!note]
25
29
  >
26
- > It's recommended to restart your terminal after installation to ensure environment variables take effect. If the installation fails, please refer to [Manual Installation](./quickstart#manual-installation) in the Quickstart guide.
30
+ > It's recommended to restart your terminal after installation if `qwen` is not
31
+ > immediately available on PATH. If the installation fails, please refer to
32
+ > [Manual Installation](./quickstart#manual-installation) in the Quickstart
33
+ > guide. For offline installation, download a release archive and run the
34
+ > installer with `--archive PATH`; keep `SHA256SUMS` next to the archive.
27
35
 
28
36
  ### Start using Qwen Code:
29
37
 
@@ -38,7 +38,7 @@ powershell -Command "Invoke-WebRequest 'https://qwen-code-assets.oss-cn-hangzhou
38
38
 
39
39
  **Prerequisites**
40
40
 
41
- Make sure you have Node.js 20 or later installed. Download it from [nodejs.org](https://nodejs.org/en/download).
41
+ Make sure you have Node.js 22 or later installed. Download it from [nodejs.org](https://nodejs.org/en/download).
42
42
 
43
43
  **NPM**
44
44
 
@@ -79,7 +79,7 @@ Choose your preferred authentication method:
79
79
 
80
80
  > [!tip]
81
81
  >
82
- > You can also configure authentication directly from the terminal without starting a session by running `qwen auth`. Use `qwen auth status` to check your current configuration at any time. See the [Authentication](./configuration/auth) page for details.
82
+ > To configure authentication, start Qwen Code and run `/auth`. Use `/doctor` to check your current configuration at any time. See the [Authentication](./configuration/auth) page for details.
83
83
 
84
84
  ## Step 3: Start your first session
85
85
 
@@ -222,9 +222,7 @@ Here are the most important commands for daily use:
222
222
  | --------------------- | ------------------------------------------------ | ----------------------------- |
223
223
  | `qwen` | start Qwen Code | `qwen` |
224
224
  | `/auth` | Change authentication method (in session) | `/auth` |
225
- | `qwen auth` | Configure authentication from the terminal | `qwen auth` |
226
- | `qwen auth api-key` | Configure API key authentication | `qwen auth api-key` |
227
- | `qwen auth status` | Check current authentication status | `qwen auth status` |
225
+ | `/doctor` | Check current authentication and environment | `/doctor` |
228
226
  | `/help` | Display help information for available commands | `/help` or `/?` |
229
227
  | `/compress` | Replace chat history with summary to save Tokens | `/compress` |
230
228
  | `/clear` | Clear terminal screen content | `/clear` (shortcut: `Ctrl+L`) |
@@ -4,17 +4,18 @@ This document lists the available keyboard shortcuts in Qwen Code.
4
4
 
5
5
  ## General
6
6
 
7
- | Shortcut | Description |
8
- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
9
- | `Esc` | Close dialogs and suggestions. |
10
- | `Ctrl+C` | Cancel the ongoing request and clear the input. Press twice to exit the application. |
11
- | `Ctrl+D` | Exit the application if the input is empty. Press twice to confirm. |
12
- | `Ctrl+L` | Clear the screen. |
13
- | `Ctrl+O` | Toggle compact mode (hide/show tool output and thinking). |
14
- | `Ctrl+S` | Allows long responses to print fully, disabling truncation. Use your terminal's scrollback to view the entire output. |
15
- | `Ctrl+T` | Toggle the display of tool descriptions. |
16
- | `Alt/Option+M` | Toggle Markdown output between rich rendered previews and raw/source mode. On macOS, the terminal must send Option as Meta. |
17
- | `Shift+Tab` (`Tab` on Windows) | Cycle approval modes (`plan` `default` `auto-edit` `yolo`) |
7
+ | Shortcut | Description |
8
+ | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
9
+ | `Esc` | Close dialogs and suggestions. |
10
+ | `Ctrl+C` | Cancel the ongoing request and clear the input. Press twice to exit the application. |
11
+ | `Ctrl+D` | Exit the application if the input is empty. Press twice to confirm. |
12
+ | `Ctrl+L` | Clear the screen. |
13
+ | `Ctrl+O` | Toggle compact mode (hide/show tool output and thinking). |
14
+ | `Ctrl+S` | Allows long responses to print fully, disabling truncation. Use your terminal's scrollback to view the entire output. |
15
+ | `Ctrl+T` | Toggle the display of tool descriptions. |
16
+ | `Ctrl+B` | While a foreground shell command is running: promote it to a background task. The child keeps running, the agent's turn unblocks, and the shell appears in `/tasks` + the Background tasks dialog. No-op when no shell is executing — Ctrl+B then falls through to its prompt-area binding (cursor-left). |
17
+ | `Alt/Option+M` | Toggle Markdown output between rich rendered previews and raw/source mode. On macOS, the terminal must send Option as Meta. |
18
+ | `Shift+Tab` (`Tab` on Windows) | Cycle approval modes (`plan` → `default` → `auto-edit` → `yolo`) |
18
19
 
19
20
  ## Input Prompt
20
21