Skip to content

[BUG] Cannot fetch openrouter models in WSL when https_proxy is set (AxiosError ERR_BAD_REQUEST) #10338

@npnh2

Description

@npnh2

Problem (one or two sentences)

When using Roo-Code extension in a WSL environment with the https_proxy environment variable set, the plugin fails to fetch OpenRouter models.

Context (who is affected and when)

Image

Reproduction steps

  1. Environment.
    vscode 1.107.1 on Windows11
    Roo-Code extension v3.37.1 on WSL 2.6.1.0
    WSL environment variables:
    https_proxy=http://172.28.16.1:10810
    http_proxy=http://172.28.16.1:10810
  2. Exact actions.
    Open a new vscode window and connect to wsl, then open Roo Code extension.
    Select API Provider OpenRouter, click Model list and there is nothing.
    If there is a cached model list, then rm -r $HOME/.vscode-server/data/User/globalStorage/rooveterinaryinc.roo-cline/ in wsl and retry.

Expected result

Expected getting a list of openrouter models.

Actual result

AxiosError ERR_BAD_REQUEST

Variations tried (optional)

No response

App Version

3.37.1

API Provider (optional)

OpenRouter

Model Used (optional)

No response

Roo Code Task Links (optional)

No response

Relevant logs or errors (optional)

ERR [Extension Host] Error fetching OpenRouter models: {
  "stack": "AxiosError: Request failed with status code 400\n\tat bB (/home/xxx/.vscode-server/extensions/rooveterinaryinc.roo-cline-3.37.1/dist/extension.js:172:1223)\n\tat IncomingMessage.<anonymous> (/home/xxx/.vscode-server/extensions/rooveterinaryinc.roo-cline-3.37.1/dist/extension.js:177:11196)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:90:21)\n\tat iie.request (/home/xxx/.vscode-server/extensions/rooveterinaryinc.roo-cline-3.37.1/dist/extension.js:179:2262)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n\tat async mEi (/home/xxx/.vscode-server/extensions/rooveterinaryinc.roo-cline-3.37.1/dist/extension.js:2808:9229)\n\tat async LGi (/home/xxx/.vscode-server/extensions/rooveterinaryinc.roo-cline-3.37.1/dist/extension.js:3186:14371)\n\tat async /home/xxx/.vscode-server/extensions/rooveterinaryinc.roo-cline-3.37.1/dist/extension.js:3186:16817",
  "message": "Request failed with status code 400",
  "name": "AxiosError",
  "code": "ERR_BAD_REQUEST",
  "config": {},
  "status": 400
}

I believe this issue has the same root cause as #872, which was closed because Cant repro:

The getOpenRouterModels function in https://github.com/RooCodeInc/Roo-Code/blob/main/src/api/providers/fetchers/openrouter.ts uses axios to make request and does not automatically support HTTP CONNECT tunneling when it detects https_proxy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue/PR - TriageNew issue. Needs quick review to confirm validity and assign labels.bugSomething isn't working

    Type

    No type

    Projects

    Status

    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions