Usage page empty / "Failed to load usage data" when Cursor uses system HTTP proxy — api2.cursor.sh TLS fails via proxy (workaround: proxy-bypass-list)

Describe the Bug

When launching Cursor with an HTTP/HTTPS proxy (e.g. local Clash on 127.0.0.1:7892 via --proxy-server=http://127.0.0.1:7892), the in-app Usage panel fails to load usage data (blank UI or “Failed to load usage data”).
At the same time, direct HTTPS to Cursor API hosts works, but the same request through the HTTP proxy fails TLS (SSL_ERROR_SYSCALL / connection failure).

Steps to Reproduce

  1. Enable local HTTP proxy on 127.0.0.1:7892 (Clash).
  2. Start Cursor with Chromium proxy:
    /Applications/Cursor.app/Contents/MacOS/Cursor --proxy-server=http://127.0.0.1:7892
  3. Open Cursor Settings → Usage (or wherever usage is shown).
  4. Observe: usage does not load / error message.

Expected Behavior

Usage statistics should load reliably regardless of whether the user routes general traffic through a local HTTP proxy, or the app should clearly document which domains must bypass the proxy for billing/usage APIs.

Operating System

MacOS

Version Information

cursor CLI 2.6.20 (commit b29eb4ee5f9f6d1cb2afbc09070198d3ea6ad760, arm64)

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey, this is a known issue with Clash proxy. When --proxy-server routes all traffic through it, TLS to api2.cursor.sh breaks.

Two options to fix it.

Option 1, Clash Verge rules, recommended.

Add these to your Clash Verge merge config so Cursor domains go direct:

prepend-rules:
    - 'DOMAIN-SUFFIX,cursor.sh,DIRECT'
    - 'DOMAIN-SUFFIX,cursor-cdn.com,DIRECT'
    - 'DOMAIN-SUFFIX,cursorapi.com,DIRECT'
    - 'DOMAIN-SUFFIX,downloads.cursor.com,DIRECT'
    - 'DOMAIN-SUFFIX,todesktop.com,DIRECT'

Option 2, Chromium bypass flag.

/Applications/Cursor.app/Contents/MacOS/Cursor \
  --proxy-server=http://127.0.0.1:7892 \
  --proxy-bypass-list="*.cursor.sh;*.cursor-cdn.com;*.cursorapi.com;*.cursor.com;*.todesktop.com"

Also add this to your Cursor settings.json to avoid HTTP/2 streaming issues through the proxy:

{
  "cursor.general.disableHttp2": true
}

More details and discussion from other Clash users here: Can not use cursor because of clash verge

Let me know if it helps.

A post was merged into an existing topic: Can not use cursor because of clash verge