Cursor API timeout or login hang – Fix and root‑cause (Frontier / bad DNS)

Describe the Bug

If you need to log out of Cursor and/or delete previous sessions, it breaks the login process that sends you from the Cursor native app to the website and back – preventing login and any Cursor use.

Steps to Reproduce

Log out, revoke active sessions, try to log in. If you can’t, then try:

curl -v https://api2.cursor.sh

If that times out (on macOS here), you have reproduced.

Also traceroute api2.cursor.sh doesn’t make it all the way to Cursor servers.

A phone on the same Wi‑Fi network gets through, but Mac (or specific machine) does not.

Expected Behavior

Pressing the Login button in Cursor app is supposed to send you to the Cursor website to authenticate, then successfully log you in to the native app.

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.2.2 (Universal)
VSCode Version: 1.99.3
Commit: faa03b17cce93e8a80b7d62d57f5eda6bb6ab9f0
Date: 2025-07-07T06:07:27.002Z (5 days ago)
Electron: 34.5.1
Chromium: 132.0.6834.210
Node.js: 20.19.0
V8: 13.2.152.41-electron.0
OS: Darwin arm64 24.5.0

Additional Information

Root cause (TL;DR)

Frontier’s default DNS occasionally returns bogus A‑records for api2.cursor.sh, e.g. 98.83.83.141 or 98.85.87.191 (Frontier-owned IPs).If your machine tries one of those first, the TCP SYN never receives a SYN‑ACK → every request hangs.

Make sure that in your /etc/hosts, you don’t have an old Cursor IP (e.g. 52.200.226.48) pinned to ap2.cursor.shs or similar. That IP is no longer in service and can cause the same timeout – delete it if so.

Fix in 30 seconds

Switch DNS to a public resolver (Cloudflare 1.1.1.1 or Google 8.8.8.8).

sudo networksetup -setdnsservers Wi-Fi 1.1.1.1 8.8.8.8 # macOS

or set these servers in your router so every device benefits.

Flush macOS DNS & cache:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

Remove any pin in /etc/hosts:
(delete any line that references api2.cursor.sh or tries to pin an IP to it)

sudo nano /etc/hosts

Re‑open Cursor – login now succeeds.

How to verify you’re on “good” records

dig +short api2.cursor.sh

You should not see any 98.* (or BAD) addresses. Valid IP ranges are typically 3., 13., 34., 44., 50., 52., 54.* (all AWS us‑east‑1).

Diagnostic commands used

find bad DNS answers

dig +short api2.cursor.sh @192.168.254.254   # ISP resolver
dig +short api2.cursor.sh @1.1.1.1          # Cloudflare

test TCP handshake

tcptraceroute api2.cursor.sh 443

capture SYN / SYN‑ACK

tcpdump -n host api2.cursor.sh and tcp port 443

If you see your SYNs leaving but no SYN‑ACKs return, you’re likely hitting a black‑holed IP.

Does this stop you from using Cursor

Yes - Cursor is unusable