← All articles

September 2026 Qwen Model Sunset Migration Guide: qwen3-max, qwen3-coder-plus, and qwen3-vl-flash Replacements

Five Qwen mainline models — qwen3-max, qwen3-max-preview, qwen3.6-max-preview, qwen3-coder-plus, and qwen3-vl-flash — sunset on September 8, 2026. We mapped every retiring model to its official replacement, compared pricing, wrote the code diffs, and built a step-by-step migration checklist so you can switch before the deadline.

· TheRouter

September 2026 Qwen Model Sunset Migration Guide

On September 8, 2026 at 00:00 CST, Alibaba Cloud will shut down five mainstream Qwen models on DashScope (Bailian): qwen3-max, qwen3-max-preview, qwen3.6-max-preview, qwen3-coder-plus, and qwen3-vl-flash. After that moment, API calls to these model IDs return errors — no grace period, no degraded mode, just a hard stop (Official notice, published 2026-06-08; Model deprecation page, retrieved 2026-06-23).

This guide gives you the replacement mapping, code diffs, pricing comparison, and a concrete migration checklist. If you route through TheRouter, you can pre-configure fallback from the old model IDs to replacements today and let routing handle the cutover.

We route OpenAI-compatible requests through configured providers and support provider/model routing and fallback where the live product path supports it. We do not claim universal model support, zero downtime, or guaranteed cheapest pricing.

  1. Swap three values, not three SDKs. Change api_key, base_url, and model in the existing OpenAI client. Keep your request/response code unchanged.
  2. Map model IDs explicitly. The target provider's model id is almost never identical to the OpenAI id. Keep a single dict of { openai_id: target_id } outside business logic.
  3. Verify streaming format. SSE chunks must follow the OpenAI data: {...} + data: [DONE] contract. Test one streaming call before moving production traffic.
  4. Check rate-limit headers. Some providers omit x-ratelimit-* headers. Add a wrapper that defaults safely when headers are absent.
  5. Keep a rollback path. Ship the swap behind a feature flag, run both endpoints in shadow for 24 hours, then cut over.

30-Second Answer

Three model families are retiring on September 8, 2026. Here are the drop-in replacements:

Retiring ModelCategoryReplacementStatus
qwen3-maxQwen Max (flagship text)qwen3.7-maxActive, verified in models-data
qwen3-max-previewQwen Max (preview)qwen3.7-maxActive
qwen3.6-max-previewQwen Max (preview)qwen3.7-maxActive
qwen3-coder-plusQwen Coderqwen3.7-plusActive, verified in models-data
qwen3-vl-flashQwen VL (vision)qwen3.6-flashActive

All replacements are designated by Alibaba's official deprecation notice. Each is already available on DashScope and accepts requests today — you can start testing immediately.

What's Retiring on September 8, 2026

The official notice (阿里云公告 #118344, published 2026-06-08) lists these five model IDs:

Qwen Max Family

  • qwen3-max — The current mainline Max model (equivalent to qwen3-max-2026-01-23). Supports both thinking and non-thinking modes. Tiered pricing with 256K context window.
  • qwen3-max-preview — Preview channel for the Max tier. Supports both thinking and non-thinking modes.
  • qwen3.6-max-preview — The Qwen 3.6 generation Max preview. Supports thinking + non-thinking, 256K context, tiered pricing.

Qwen Coder

  • qwen3-coder-plus — The Plus-tier coding model. Used in agentic coding pipelines and CI-integrated code review.

Qwen VL (Vision-Language)

  • qwen3-vl-flash — The lightweight vision model for image understanding tasks.

Pre-sunset impact: Starting from the deprecation notice date (June 8), DashScope may gradually reduce QPM and TPM quotas for these models before the final cutoff. If you've requested expanded rate limits, those get reset to defaults first (Deprecation mechanism, retrieved 2026-06-23).

Replacement Mapping — Old Model → New Model

qwen3-max → qwen3.7-max

Dimensionqwen3-maxqwen3.7-max
Context window256K (tiered)1M (flat-rate)
Input price (mainland, /1M tokens)¥2.50 (≤32K) / ¥4 (32-128K) / ¥7 (128-256K)¥12 (flat, ≤1M)
Output price (mainland, /1M tokens)¥10 (≤32K) / ¥16 (32-128K) / ¥28 (128-256K)¥36 (flat, ≤1M)
Thinking modeBothBoth
Batch APISupported (50% off)Supported (50% off)
Context cacheSupportedSupported
MultimodalText-onlyText + image (June 8 snapshot)

Cost impact: For short requests (≤32K input), qwen3.7-max is more expensive: ¥12 vs ¥2.50 per million input tokens. For long-context workloads (128K+), the flat ¥12 rate is cheaper than qwen3-max's ¥7 tier 3. Evaluate based on your typical prompt length (Model pricing, retrieved 2026-06-23).

qwen3-coder-plus → qwen3.7-plus

Dimensionqwen3-coder-plusqwen3.7-plus
Context window128K1M (tiered at 256K boundary)
Input price (mainland, /1M tokens)Similar to Plus tier¥2 (≤256K) / ¥6 (256K-1M)
Output (non-thinking, /1M tokens)Similar to Plus tier¥8 (≤256K) / ¥24 (256K-1M)
Output (thinking, /1M tokens)—¥8 (≤256K) / ¥24 (256K-1M)
Thinking modeNon-thinking onlyBoth thinking and non-thinking
Batch APINot listedSupported (50% off)
Context cacheNot listedSupported

Key change: qwen3.7-plus is a general-purpose model, not a dedicated coding model. It handles coding workloads well (it's the official replacement per Alibaba), but if you relied on qwen3-coder-plus for specialized code generation behavior, run regression tests on your coding benchmarks before switching.

qwen3-vl-flash → qwen3.6-flash

qwen3.6-flash replaces qwen3-vl-flash for vision tasks. Note that qwen3.6-flash is a general-purpose flash model, not VL-specific — verify that image input formatting works the same way in your pipeline.

Before/After Code Diff (OpenAI SDK)

The migration is a model ID swap. If you're using the OpenAI Python SDK against DashScope's OpenAI-compatible endpoint, the change is one line:

# Before — qwen3-max (sunsets Sept 8, 2026)
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-dashscope-api-key",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

response = client.chat.completions.create(
    model="qwen3-max",  # ← retiring
    messages=[{"role": "user", "content": "Explain attention mechanisms."}],
)
# After — qwen3.7-max (replacement)
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-dashscope-api-key",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

response = client.chat.completions.create(
    model="qwen3.7-max",  # ← replacement
    messages=[{"role": "user", "content": "Explain attention mechanisms."}],
)

Same for qwen3-coder-plus → qwen3.7-plus:

# Before
response = client.chat.completions.create(
    model="qwen3-coder-plus",  # ← retiring
    messages=[{"role": "user", "content": "Refactor this function to use async/await."}],
)

# After
response = client.chat.completions.create(
    model="qwen3.7-plus",  # ← replacement
    messages=[{"role": "user", "content": "Refactor this function to use async/await."}],
)

Migration Checklist and Gotchas

  1. Check which models you actually use. Go to DashScope Model Telemetry and filter for the five retiring model IDs. If you see zero traffic, you're done.

  2. Test the replacement model on your workload. Don't trust benchmarks — run your actual prompts against qwen3.7-max (or qwen3.7-plus / qwen3.6-flash) and compare outputs. Key areas to check:

    • Output format consistency (JSON mode, structured outputs)
    • Thinking mode behavior (if you use enable_thinking: true)
    • Token count differences (Qwen3.7-Max uses flat-rate pricing — your costs may change)
  3. Update model IDs in all environments. Search your codebase for string literals: qwen3-max, qwen3-max-preview, qwen3.6-max-preview, qwen3-coder-plus, qwen3-vl-flash. Don't forget config files, environment variables, and CI pipelines.

  4. Watch for rate-limit changes. DashScope gradually reduces QPM/TPM for retiring models after the deprecation notice. If you see unexpected 429s, check if your quota was reset.

  5. Update any model-specific prompt tuning. If you've optimized system prompts for qwen3-max's behavior, the replacement model may respond differently to the same prompt engineering techniques.

  6. Plan for pricing impact. Short-context users moving from qwen3-max (¥2.50/M input at ≤32K) to qwen3.7-max (¥12/M flat) will see a ~4.8× input cost increase. Long-context users may see savings. Model your expected costs before switching.

Cost Comparison — Old vs Replacement Pricing

All prices per million tokens, China mainland region (Model pricing, retrieved 2026-06-23):

ModelContext TierInputOutput
qwen3-max≤32K¥2.50¥10
32K–128K¥4¥16
128K–256K¥7¥28
qwen3.7-max≤1M (flat)¥12¥36
qwen3.6-max-preview≤128K¥9¥54
128K–256K¥15¥90
qwen3.7-max≤1M (flat)¥12¥36
qwen3-coder-plus(Plus tier)~¥0.80~¥2
qwen3.7-plus≤256K¥2¥8 (non-think) / ¥8 (think)
256K–1M¥6¥24

Summary: qwen3.6-max-preview → qwen3.7-max is a clear cost win (output drops from ¥54 to ¥36). qwen3-max → qwen3.7-max costs more for short contexts but less for long contexts. qwen3-coder-plus → qwen3.7-plus costs more but adds thinking mode and larger context.

How to Set Up Routing Fallback During Migration

If you use TheRouter, you can configure a fallback chain that sends requests to the replacement model when the old model ID stops working — or proactively route all traffic to the replacement before the deadline.

We route OpenAI-compatible requests through configured providers and support provider/model routing and fallback where the live product path supports it.

Option 1: Pre-switch routing. Update your TheRouter model configuration to point qwen3-max requests to qwen3.7-max before September 8. Your application code doesn't need to change — TheRouter handles the model ID mapping.

Option 2: Fallback chain. Configure qwen3-max as primary and qwen3.7-max as fallback. If the primary starts returning errors (due to quota reduction or the eventual shutdown), requests automatically fall through to the replacement. See our model fallback guide for configuration details.

Option 3: Shadow testing. Route a percentage of traffic to qwen3.7-max while keeping production on qwen3-max. Compare outputs for regressions, then shift 100% when satisfied.

Rollback Path If Replacement Doesn't Fit

If qwen3.7-max doesn't produce acceptable results for your workload:

  1. Try qwen3.7-max snapshots. Two snapshots exist: qwen3.7-max-2026-05-20 (text-only) and qwen3.7-max-2026-06-08 (multimodal). The older snapshot may behave more similarly to qwen3-max.

  2. Consider cross-provider alternatives. For Max-tier workloads, options include DeepSeek V4 (via DashScope or direct) and GPT-4o (via OpenAI). For coding workloads replacing qwen3-coder-plus, consider Kimi K2.7 Code or DeepSeek V4.

  3. File a DashScope support ticket. If you have a legitimate business reason to keep qwen3-max, Alibaba has occasionally extended deadlines for high-volume customers. Don't count on it, but the option exists.

Timeline and Recommended Action Dates

DateAction
Now (June 2026)Audit which retiring models you use via Model Telemetry
July 2026Run replacement models on staging. Compare outputs, latency, and costs
August 1–15Deploy replacement model IDs to production behind feature flags
August 15–31Monitor production traffic on replacement models. Address regressions
September 1–7Final cutover. Remove feature flags. Verify no remaining references to old model IDs
September 8, 2026 00:00 CSTOld models stop accepting requests. No rollback possible

Don't wait until September. DashScope starts reducing quotas for retiring models after the deprecation notice. If you're already seeing lower QPM/TPM limits, that's the warning shot.

Related Posts


Sources: Aliyun official notice #118344 (published 2026-06-08), DashScope model deprecation page (retrieved 2026-06-23), DashScope model pricing (retrieved 2026-06-23). All prices in RMB. Pricing and model availability subject to change — verify against the official documentation before making production decisions.

Help & contact