OAuth login silently fails behind local proxy — fix is changing one default setting

The Problem

Users behind a local proxy cannot log in to Cursor. The browser opens, authentication succeeds, the browser shows “All set! Feel free to return to Cursor.” — but the app stays unauthenticated.

This issue has been reported repeatedly since October 2023:

  • How to login? the cursor still displayed that login is required (Oct 2023)

  • Cant Login Cursor (Sept 2025)

  • Cursor login problem (July 2025)

and I have consistently encountered posts regarding this issue across various platforms and developer communities.

Root Cause

The setting Http: Proxy Support defaults to override.

In override mode, Cursor uses only the value from http.proxy in settings.json. If http.proxy is empty (which it is by default), no proxy is used at all — even if the operating system has a valid system proxy configured.

This can be verified on Windows:

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable
    ProxyEnable    REG_DWORD    0x1

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer
    ProxyServer    REG_SZ    127.0.0.1:<port>

System proxy is enabled and correctly configured. Cursor ignores it.

Note: Standard Electron behavior respects the system proxy settings configured in the OS. Cursor is a fork of VS Code (which is built with Electron) and inherits these proxy settings, but the default value of override causes it to bypass OS proxy configuration. The fix is restoring standard behavior, not implementing something new.

Understanding Http: Proxy Support Modes

Cursor (inherited from VS Code) has four proxy modes. This is the key to the issue:

  • off — proxy is not used at all

  • on — use the OS system proxy (e.g. the one configured in Windows Internet Settings)

  • fallback — first check http.proxy in settings.json; if empty, fall back to the system proxy

  • override (current default) — use only http.proxy from settings.json; the system proxy is completely ignored

The problem: override + empty http.proxy = no proxy. This is the default state for every new Cursor installation.

Fix for Cursor Team

Change the default value of Http: Proxy Support from override to on (or fallback).

One default value change fixes the issue for all affected users.

Workaround for Users

If you are behind a local proxy or VPN client and cannot log in:

  1. Open Cursor Settings (Ctrl+,)

  2. Search for proxy support

  3. Find Http: Proxy Support

  4. Change from override to on

  5. Restart Cursor

  6. Try Sign In again

That’s it. No need to manually configure http.proxy or https.proxy in settings.json.

Alternative workaround (manual proxy configuration)

You can also explicitly set your proxy. First, find your local proxy’s HTTP port by running in cmd:

netstat -ano | findstr "LISTENING" | findstr "1080 7890 10808 10809 8080"

You may see two ports, for example:

TCP    127.0.0.1:10808    0.0.0.0:0    LISTENING    30124
TCP    127.0.0.1:10809    0.0.0.0:0    LISTENING    30124

Many local proxy clients create two inbounds:

  • SOCKS proxy (lower-level protocol, used by some apps like Telegram or torrent clients)

  • HTTP proxy — this is what Cursor needs

Use the HTTP port (usually the higher one). Open settings.json (Ctrl+Shift+P → “Open User Settings JSON”) and add:

{
    "cursor.general.disableHttp2": true,
    "http.proxy": "http://127.0.0.1:<http_port>",
    "https.proxy": "http://127.0.0.1:<http_port>",
    "http.proxyStrictSSL": false
}

Replace <http_port> with your HTTP proxy port (e.g. 10809). Restart Cursor and try Sign In again.