Skip to Content
BlogQwen Code Weekly: Smart Tool Parallelism, Fork Sub-Agent Context Sharing, CJK Word Segmentation
Back to Blog

Qwen Code Weekly: Smart Tool Parallelism, Fork Sub-Agent Context Sharing, CJK Word Segmentation

Qwen Team
2026-04-16

This week we released three feature versions: v0.14.3, v0.14.4, and v0.14.5.

After v0.14.3 went live, we received plenty of community feedback and focused on input experience and sub-agent issues this week. v0.14.4 brings smart tool parallel execution — read-only tools are automatically batched in parallel, significantly improving response speed in multi-tool scenarios. CJK word segmentation finally makes cursor navigation work properly for Chinese, Japanese, and Korean users. v0.14.5 adds fork sub-agents, allowing subtasks to share the parent agent’s context. Additionally, Qwen OAuth free tier has been discontinued as of April 15 — we recommend migrating to Alibaba Cloud Bailian, OpenRouter, or Fireworks.

✨ New Features

Smart Tool Parallel Execution

Qwen Code now automatically determines which tools can run in parallel based on tool type: read-only operations like search and file reading are automatically batched in parallel, while shell write operations remain serial for safety. Wait times are significantly reduced in multi-tool scenarios. See PR #2864 

What you can do with it:

  • Search multiple files and read multiple code segments simultaneously — no more waiting in queue
  • The agent automatically identifies which tool calls can be parallelized — no configuration needed
  • Write operations still execute serially, so no need to worry about file conflicts

Fork Sub-Agent Shared Context

Fork sub-agents allow you to spawn child agents that inherit the parent agent’s full context. Sub-agents can independently complete subtasks and return results to the parent. Ideal for scenarios requiring parallel processing of multiple related tasks. See PR #2936 

What you can do with it:

  • Spawn subtasks from the main task to handle independent modules
  • Sub-agents inherit the parent’s full context without redundant information passing
  • Process multiple related tasks in parallel for improved efficiency

CJK Word Segmentation + Ctrl+Arrow Navigation

Optimized terminal input for Chinese, Japanese, and Korean users. Cursor now moves by word boundaries instead of character-by-character, and Ctrl+Arrow key navigation works properly. See PR #2942 

What you can do with it:

  • Move cursor by word, making long sentence editing more efficient
  • Use Ctrl+Left/Right to quickly jump between words
  • Backspace deletes by word, no more deleting one character at a time

ACP Message Rewrite Middleware

LLM-based message rewrite middleware that reformats model output through a second LLM pass. Configure a custom prompt to automatically restructure responses into your preferred format. See PR #3191 

What you can do with it:

  • Automatically rewrite AI responses into structured formats (summary + change table + risk assessment)
  • Customize rewrite prompts for different scenarios
  • Works as ACP middleware, transparent to the user

Skill Model Override

Skills can now specify which model to use via the model field in Skill frontmatter. Different Skills can use different models. See PR #2949 

What you can do with it:

  • Configure the optimal model for each Skill independently
  • Code review uses a strong model, simple tasks use a fast model — balancing quality and cost
  • No need to manually switch models — the Skill automatically selects the right one

Context-Aware Tips

After a conversation ends, the system automatically recommends next steps based on the current context. For example, after modifying code it might suggest “want to run the tests?”. See PR #2904 

What you can do with it:

  • After completing code changes, automatically get suggestions for related follow-up actions
  • New users can more easily discover and learn features
  • Relevant slash commands are recommended based on conversation content

/review Enhancement: Deterministic Analysis & Auto-Fix

/review now supports deterministic analysis (static checks independent of LLM), auto-fix suggestions, and security hardening checks. Review results are more reliable with direct fix suggestions. See PR #2932 

What you can do with it:

  • Code review results are more stable — same code produces consistent conclusions every time
  • Issues found come with fix suggestions — no need to figure out the fix yourself
  • Automatically checks for common security vulnerabilities

Idle Context Micro-Compaction

Automatically cleans up redundant context during conversation idle time, reducing token consumption. Particularly effective in long conversations. See PR #3006 

What you can do with it:

  • Long conversations no longer hit context window limits as quickly
  • Automatically cleans up intermediate results no longer needed, saving tokens
  • No manual action required — runs automatically in the background

More New Features

  • Customizable Status Bar: /statusline command to customize terminal bottom status bar (#2923 )
  • /context detail Subcommand: View detailed context usage information (#3042 )
  • SDK Context Usage Data Exposure: Access /context usage data in non-interactive mode and SDK API (#2916 )
  • Sub-Agent Approval Inheritance: Sub-agents automatically inherit parent’s approval settings (#3066 )
  • Sub-Agent Tool Restrictions: New disallowedTools field in Agent definitions (#3064 )
  • Unicode Agent Names: Agent names can now use Chinese and other Unicode characters (#3194 )
  • Telegram Voice Messages: TelegramAdapter now supports voice message send/receive (#3150 )
  • French Localization: Added French (fr-FR) language support (#3126 )
  • StopFailure and PostCompact Hook Events: Two new Hook event points for extended automation (#2825 )
  • Startup Profiler: --profile parameter to identify startup performance bottlenecks (#3232 )
  • Sandbox Image Configuration: tools.sandboxImage setting for custom sandbox images (#3146 )
  • Workspace Config Override Warning: Warning when workspace config overrides global modelProviders (#3148 )
  • VSCode /account Command: View account information in the VSCode extension (#2984 )
  • Direct exit/quit to Exit CLI: No need to type /exit anymore, just type exit (#3201 )

📊 Improvements

PRVersionImprovementImpact
#3120 v0.14.4Fast Model setting changed from text input to model selectorSelect models from a dropdown instead of typing names
#3116 v0.14.4/settings shows detailed description when selecting a settingNo more guessing what each setting does
#2871 v0.14.4Pop queued messages for editing via ↑/ESC keysQuickly retrieve and edit sent messages
#3008 v0.14.3New “restore previous mode” option when exiting Plan modeNo need to manually switch back after exiting Plan mode
#3075 v0.14.3verboseMode renamed to compactModeMore intuitive setting name
#2728 v0.14.3IDE diff interaction centralized to CoreToolSchedulerMore stable diff display for code editing
#2914 v0.14.4Terminal Markdown table rendering optimizationTables display more neatly in the terminal
#3193 v0.14.4Coding Plan default model set to qwen3.5-plusCoding Plan works out of the box with a stronger default model

🔧 Important Fixes

PRVersionFixImpact
#3138 v0.14.4Recursive file crawl without limit causing memory overflowLarge projects no longer crash due to too many files (limit 100k)
#3246 v0.14.5Rate limit errors in SSE stream not properly detectedRate limiting now shows correct prompts instead of silent failure
#3251 v0.14.5Gemini think-only responses rejected by stream validationThinking process displays normally with Gemini models
#3212 v0.14.5Custom Gemini baseUrl not taking effectCustom Gemini endpoint configuration works properly now
#2872 v0.14.3Follow-up tool call UI leaks and Enter accept buffer raceFollow-up interactions no longer occasionally freeze
#3151 v0.14.4Follow-up suggestions not working on OpenAI-compatible providersFollow-up feature works again with third-party providers
#2985 v0.14.3tree-sitter WASM not inlined in bundled installCode parsing works in offline/bundled install scenarios
#2930 v0.14.3Sub-agent confirmation focus concurrency conflictMultiple sub-agents requesting confirmation no longer cause confusion
#2850 v0.14.3Shell commands with env prefix not matching saved permission rulesENV=val command permission memory works properly now
#3069 v0.14.3ProceedAlways permission not persisted in Compact mode”Always allow” no longer needs repeated confirmation
#3109 v0.14.4Stale compaction checkpoint token count on session restoreToken count is accurate after restoring a conversation
#3038 v0.14.3VSCode extension chat input scrollbar not draggableScrollbar works properly for long text input
#3249 v0.14.5VSCode session tab title too long causing tab bar overflowTab titles auto-truncate, tab bar layout is normal
#3181 v0.14.4Ctrl+C unavailable after paste mode freezeTerminal paste anomaly can still be recovered via Ctrl+C
#3136 v0.14.4Channel launch command not applying proxy settingsChannel starts normally in proxy environments
#3031 v0.14.4No fallback when IDE diff open failsIDE diff failure automatically falls back to CLI confirmation
#3123 v0.14.4Crash when OAuth refresh response body is emptyOAuth token refresh anomaly no longer crashes
#3197 v0.14.4@file injection path not respecting respectGitIgnore@file references correctly ignore files in .gitignore
#3192 v0.14.4No clear error when MCP Server cwd doesn’t existClear prompt when MCP config path is wrong

📢 Important Announcement: Qwen OAuth Free Tier Discontinued

Starting April 15, 2026, the Qwen OAuth free tier has been discontinued. Existing users can continue using their remaining quota. We recommend migrating to the following channels:

See PR #3291 , #3299 , #3207 

🎈 Other Improvements

PRImprovementImpact
#3187 Non-interactive mode --openai-api-key parameter validation fixAPI Key authentication in CI/CD no longer errors
#3257 /bug command easier to use in terminals without hyperlink supportAny terminal can conveniently submit bug reports
#3270 Ignore literal Tab input in input boxTab key no longer inserts tab characters in the input box
#3060 Shift+Tab no longer accepts placeholder suggestionsOnly Tab accepts suggestions, Shift+Tab behavior is normal
#3045 Tab characters in pasted content correctly preservedCode indentation is not lost when pasting
#3104 Slash command completion priority increasedCommand completion appears faster after typing /
#3077 /model --fast description text optimizationEasier to understand what --fast does
#3041 Checkpointing initialization fix in non-repo directoriesNo more errors in non-Git repo directories
#3091 Statusline script no longer unexpectedly modifies settings.jsonCustom status bar won’t mess up your config
#3208 Previous prompt no longer auto-filled when canceling inputInput box is clean after pressing Esc
#2865 Upgraded normalize-package-data to fix DEP0169 warningNo more deprecation warnings on startup
#3134 Lazy-load Channel plugin to eliminate DEP0040 startup warningCleaner startup logs
#3294 DingTalk Channel prioritizes senderStaffId for user matchingMore accurate user identification in DingTalk Channel
#3044 WeChat login QR code flow adds missing iLink request headerMore stable WeChat QR code login
#2948 ripGrep tool adds default permissions and external path supportripGrep search can access files outside the workspace
#3094 Newline and submit judgment fix in multi-line input modeEnter and Ctrl+Enter behavior is correct in multi-line input
#2891 Clean up unused state and parameters in input componentInput component is lighter and more responsive

👋 Welcome New Contributors

  • @doudouOUC — Fixed checkpointing initialization in non-repo directories, added sandbox image configuration and workspace config override warning
  • @BZ-D — Fixed Shift+Tab incorrectly accepting placeholder suggestions
  • @YuchenLiang00 — Added /context detail subcommand
  • @Apophis3158 — Implemented CJK word segmentation and Ctrl+Arrow navigation optimization
  • @sibylassana95 — Added French localization support
  • @evan70 — Upgraded normalize-package-data to fix DEP0169 warning
  • @B-A-M-N — Fixed crash when OAuth refresh response body is empty
  • @feyclaw — Added Telegram voice message support
  • @dreamWB — Fixed VSCode session tab title overflow
  • @reidliu41 — Improved /bug command experience in terminals without hyperlink support
  • @Shenean — Fixed literal Tab input issue in input box

How to upgrade: Run npm i @qwen-code/qwen-code@latest -g to upgrade to the latest version.

If you have questions or suggestions, feel free to provide feedback on GitHub Issues !

Last updated on