Skip to content

qwen3 coder via openrouter giving "404 no tool use" error. #409

Description

@Tor-Saxberg
{
  "LOG": false,
  "Providers": [
    {
      "name": "groq",
      "api_base_url": "https://api.groq.com/openai/v1/chat/completions",
      "api_key": "gsk_",
      "models": [ "qwen/qwen3-32b" , "moonshotai/kimi-k2-instruct"],
      "transformer": {
        "use": [
          [ "maxtoken", { "max_tokens": 16384 } ],
          "openrouter"
        ]
      }
    },
    {
      "name": "openrouter",
      "api_base_url": "https://openrouter.ai/api/v1/chat/completions",
      "api_key": "sk-f",
      "models": [ "qwen/qwen3-coder" ],
      "transformer": {
        "use": [
          [ "maxtoken", { "max_tokens": 40960} ],
          "openrouter"  
        ]
      }
    }
  ],
  "Router": {
    "default": "openrouter,qwen/qwen3-coder"
  }
}

the openrouter page says this:
Qwen3-Coder… is optimized for agentic coding tasks such as function calling, **tool use**, and long-context reasoning over repositories.

but, even after re-installing ccr, I get this error:

Error from provider: {\"error\":{\"message\":\"No endpoints found that support tool use. To learn more about provider routing, visit: https://openrouter.ai/docs/provider-routing\",\"code\":404}}\n    at Et (/opt/homebrew/lib/node_modules/@musistudio/claude-code-router/dist/cli.js:74566:11)\n    at s0 (/opt/homebrew/lib/node_modules/@musistudio/claude-code-router/dist/cli.js:74626:49)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at async e0 (/opt/homebrew/lib/node_modules/@musistudio/claude-code-router/dist/cli.js:74591:73)","type":"api _error","code":"provider_response_error"}}

I verified that the endpoint works with a simplr curl command:

curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "model": "qwen/qwen3-coder",
  "messages": [
      {
          "role": "user",
          "content": "do you support tool use?"
      }
  ]
}'

I should not that upon further testing it seems to work for some providers like Baseten, Parasail, and DeepInfra. but it does not work with the only provider that really matters: Cerebras, with 2,343 tps. I also don't think it's an openrouter x cerebras issue, because Cline has no trouble doing exactly this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions