openclaw - ✅(Solved) Fix qwen3.6-plus model incorrectly filtered out on DashScope Coding Plan (coding.dashscope.aliyuncs.com) [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#70927Fetched 2026-04-24 10:37:48
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Author
Participants
Timeline (top)
cross-referenced ×1marked_as_duplicate ×1

Root Cause

In the OpenClaw source code, there is filtering logic in dist/models-DBWl8JzO.js:

function isQwenCodingPlanBaseUrl(baseUrl) {
  const hostname = new URL(baseUrl).hostname.toLowerCase();
  return hostname === "coding.dashscope.aliyuncs.com" || 
         hostname === "coding-intl.dashscope.aliyuncs.com";
}

function isQwen36PlusSupportedBaseUrl(baseUrl) {
  return !isQwenCodingPlanBaseUrl(baseUrl);
}

function buildQwenModelCatalogForBaseUrl(baseUrl) {
  return isQwen36PlusSupportedBaseUrl(baseUrl) 
    ? QWEN_MODEL_CATALOG 
    : QWEN_MODEL_CATALOG.filter((model) => model.id !== QWEN_36_PLUS_MODEL_ID);
}

This code explicitly filters out qwen3.6-plus when the base URL is coding.dashscope.aliyuncs.com (the Coding Plan endpoint).

Fix Action

Workaround

Switch the base URL to https://api.qwen.com/v1 (standard endpoint) instead of the Coding Plan URL. However, this may not be feasible for users who rely on Coding Plan credits/tiers.

PR fix notes

PR #70957: fix(qwen): stop filtering qwen3.6-plus from Coding Plan endpoints

Description (problem / solution / changelog)

Summary

qwen3.6-plus is now supported on all DashScope endpoints including the Coding Plan (coding.dashscope.aliyuncs.com). This PR removes the filter that excluded it from the model catalog when a Coding Plan base URL was configured.

Root Cause

buildQwenModelCatalogForBaseUrl() in extensions/qwen/models.ts called isQwen36PlusSupportedBaseUrl() which returned false for Coding Plan URLs, filtering out qwen3.6-plus. This was originally added when the Coding Plan endpoint didn't support the model, but Alibaba Cloud has since added support.

Fix

  • isQwen36PlusSupportedBaseUrl() now always returns true (kept for backward compat, marked deprecated)
  • buildQwenModelCatalogForBaseUrl() always returns the full QWEN_MODEL_CATALOG
  • Updated tests to verify qwen3.6-plus is available on all endpoints

Testing

  • 3/3 tests pass in provider-catalog.test.ts

Fixes #70927

Changed files

  • extensions/qwen/models.ts (modified, +9/-6)
  • extensions/qwen/provider-catalog.test.ts (modified, +3/-3)

Code Example

{
  "key": "qwen/qwen3.6-plus",
  "name": "qwen/qwen3.6-plus",
  "input": "-",
  "contextWindow": null,
  "local": null,
  "available": null,
  "tags": ["fallback#4", "configured", "missing"],
  "missing": true
}

---

{
  "providers": {
    "qwen": {
      "baseUrl": "https://coding.dashscope.aliyuncs.com/v1",
      "api": "openai-completions",
      "models": [
        {
          "id": "qwen3.6-plus",
          "name": "qwen3.6-plus",
          "reasoning": false,
          "input": ["text", "image"],
          "cost": {
            "input": 0,
            "output": 0,
            "cacheRead": 0,
            "cacheWrite": 0
          },
          "contextWindow": 1000000,
          "maxTokens": 65536
        }
      ]
    }
  }
}

---

function isQwenCodingPlanBaseUrl(baseUrl) {
  const hostname = new URL(baseUrl).hostname.toLowerCase();
  return hostname === "coding.dashscope.aliyuncs.com" || 
         hostname === "coding-intl.dashscope.aliyuncs.com";
}

function isQwen36PlusSupportedBaseUrl(baseUrl) {
  return !isQwenCodingPlanBaseUrl(baseUrl);
}

function buildQwenModelCatalogForBaseUrl(baseUrl) {
  return isQwen36PlusSupportedBaseUrl(baseUrl) 
    ? QWEN_MODEL_CATALOG 
    : QWEN_MODEL_CATALOG.filter((model) => model.id !== QWEN_36_PLUS_MODEL_ID);
}
RAW_BUFFERClick to expand / collapse

Problem

qwen/qwen3.6-plus model shows as missing: true with null metadata when using the DashScope Coding Plan base URL (https://coding.dashscope.aliyuncs.com/v1), even though the model is explicitly configured in openclaw.json.

Model List Output

{
  "key": "qwen/qwen3.6-plus",
  "name": "qwen/qwen3.6-plus",
  "input": "-",
  "contextWindow": null,
  "local": null,
  "available": null,
  "tags": ["fallback#4", "configured", "missing"],
  "missing": true
}

User Configuration

{
  "providers": {
    "qwen": {
      "baseUrl": "https://coding.dashscope.aliyuncs.com/v1",
      "api": "openai-completions",
      "models": [
        {
          "id": "qwen3.6-plus",
          "name": "qwen3.6-plus",
          "reasoning": false,
          "input": ["text", "image"],
          "cost": {
            "input": 0,
            "output": 0,
            "cacheRead": 0,
            "cacheWrite": 0
          },
          "contextWindow": 1000000,
          "maxTokens": 65536
        }
      ]
    }
  }
}

Root Cause

In the OpenClaw source code, there is filtering logic in dist/models-DBWl8JzO.js:

function isQwenCodingPlanBaseUrl(baseUrl) {
  const hostname = new URL(baseUrl).hostname.toLowerCase();
  return hostname === "coding.dashscope.aliyuncs.com" || 
         hostname === "coding-intl.dashscope.aliyuncs.com";
}

function isQwen36PlusSupportedBaseUrl(baseUrl) {
  return !isQwenCodingPlanBaseUrl(baseUrl);
}

function buildQwenModelCatalogForBaseUrl(baseUrl) {
  return isQwen36PlusSupportedBaseUrl(baseUrl) 
    ? QWEN_MODEL_CATALOG 
    : QWEN_MODEL_CATALOG.filter((model) => model.id !== QWEN_36_PLUS_MODEL_ID);
}

This code explicitly filters out qwen3.6-plus when the base URL is coding.dashscope.aliyuncs.com (the Coding Plan endpoint).

Expected vs Actual

  • Expected: qwen3.6-plus should be available on the Coding Plan API, as officially supported by Alibaba Cloud
  • Actual: OpenClaw incorrectly filters out this model, causing it to appear in the fallback list with corrupted/incomplete metadata (input: "-", null fields)

Impact

Users with Coding Plan API keys cannot use the qwen3.6-plus model in OpenClaw, even though the model is officially supported by Alibaba Cloud DashScope as of 2025.

Version

OpenClaw 2026.4.22 (00bd2cf)

Suggested Fix

Update isQwen36PlusSupportedBaseUrl() to allow qwen3.6-plus on Coding Plan endpoints (coding.dashscope.aliyuncs.com and coding-intl.dashscope.aliyuncs.com), or remove the filtering entirely if the model is now supported on all DashScope endpoints.

The QWEN_MODEL_CATALOG already includes the model definition - the fix is simply to stop filtering it out for Coding Plan URLs.

Workaround

Switch the base URL to https://api.qwen.com/v1 (standard endpoint) instead of the Coding Plan URL. However, this may not be feasible for users who rely on Coding Plan credits/tiers.

extent analysis

TL;DR

Update the isQwen36PlusSupportedBaseUrl function to allow qwen3.6-plus on Coding Plan endpoints or remove the filtering logic to fix the issue.

Guidance

  • Review the isQwen36PlusSupportedBaseUrl function in dist/models-DBWl8JzO.js to understand the filtering logic.
  • Update the function to include coding.dashscope.aliyuncs.com and coding-intl.dashscope.aliyuncs.com in the allowed base URLs for qwen3.6-plus.
  • Alternatively, consider removing the filtering logic if qwen3.6-plus is now supported on all DashScope endpoints.
  • Verify the fix by checking the model list output for qwen3.6-plus after updating the function.

Example

function isQwen36PlusSupportedBaseUrl(baseUrl) {
  const hostname = new URL(baseUrl).hostname.toLowerCase();
  return hostname !== "example.com"; // remove or update the filtering logic
}

Notes

The provided code snippet and suggested fix are specific to the OpenClaw version 2026.4.22 (00bd2cf). The fix may not apply to other versions.

Recommendation

Apply the workaround by updating the isQwen36PlusSupportedBaseUrl function to allow qwen3.6-plus on Coding Plan endpoints, as this is a more targeted solution than switching to a different base URL.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING