Enterprise
Cursor Enterprise: Network Configuration
Cursor talks to backend services and AI providers over HTTP/2 streaming, so the usual enterprise blockers are proxies that buffer streams and SSL inspection that breaks them. Allowlist *.cursor.sh, *.cursor-cdn.com and *.cursorapi.com, exclude Cursor domains from SSL inspection where you can, and Cursor falls back to HTTP/1.1 Server-Sent Events for proxies like Zscaler.
On this page
Why does Cursor break behind a corporate proxy?
Cursor uses HTTP/2 bidirectional streaming by default for real-time chat and agent work. Some enterprise proxies don't handle HTTP/2 streaming correctly; Zscaler is the most widely used proxy with this limitation. When HTTP/2 streaming doesn't work, Cursor automatically falls back to HTTP/1.1 Server-Sent Events (SSE), a fallback built specifically for Zscaler and similar proxies that buffer or break HTTP/2 streams. The switch happens transparently.
The other common blocker is SSL inspection. Many corporate proxies perform SSL man-in-the-middle inspection for security or data loss prevention (DLP), replacing Cursor's certificates with the proxy's. When Cursor traffic passes through a Secure Web Gateway, SSL inspection or DLP, it often causes timeouts, slowness or errors in Agent work. Cursor's services are already encrypted end-to-end, so the documentation recommends excluding these domains from SSL inspection:
.cursor.shcursor-cdn.commarketplace.cursorapi.comauthenticate.cursor.shauthenticator.cursor.sh
Where policy requires SSL inspection on everything, your proxy has to support HTTP/2 bidirectional streaming (or let Cursor's HTTP/1.1 fallback work), Server-Sent Events passthrough without buffering, long-running connections without forced timeouts, and disabled response buffering for streaming content types.
Which domains do we allowlist on the firewall?
Cursor recommends allowlisting domain patterns rather than IP addresses, which can change. For most networks, allow traffic to *.cursor.sh, *.cursor-cdn.com and *.cursorapi.com. If your firewall mandates granular subdomain entries without wildcards, the documentation lists each subdomain and what it handles.
- Subdomain
- api2.cursor.sh
- Used for
- Most API requests
- Subdomain
- api5.cursor.sh
- Used for
- Agent requests and network access layer (NAL) requests
- Subdomain
- api3.cursor.sh
- Used for
- Cursor Tab requests (HTTP/2 only)
- Subdomain
- repo42.cursor.sh
- Used for
- Codebase indexing (HTTP/2 only)
- Subdomain
- api4.cursor.sh, *.gcpp.cursor.sh
- Used for
- Cursor Tab requests depending on location (HTTP/2 only)
- Subdomain
- adminportal42.cursor.sh
- Used for
- SSOSingle Sign-On. One company login (usually via SAML or OIDC) instead of a separate password per tool. configuration and domain verification
- Subdomain
- marketplace.cursorapi.com, downloads.cursor.com
- Used for
- Client updates and extension downloads
- Subdomain
- authenticate.cursor.sh, authenticator.cursor.sh
- Used for
- Authorization endpoint and login webview
| Subdomain | Used for |
|---|---|
| api2.cursor.sh | Most API requests |
| api5.cursor.sh | Agent requests and network access layer (NAL) requests |
| api3.cursor.sh | Cursor Tab requests (HTTP/2 only) |
| repo42.cursor.sh | Codebase indexing (HTTP/2 only) |
| api4.cursor.sh, *.gcpp.cursor.sh | Cursor Tab requests depending on location (HTTP/2 only) |
| adminportal42.cursor.sh | SSOSingle Sign-On. One company login (usually via SAML or OIDC) instead of a separate password per tool. configuration and domain verification |
| marketplace.cursorapi.com, downloads.cursor.com | Client updates and extension downloads |
| authenticate.cursor.sh, authenticator.cursor.sh | Authorization endpoint and login webview |
Subset of the granular subdomain list. See the Cursor docs for the full set, including the api5 NAL agent subdomains and the authentication.cursor.sh JWT issuers.
How does Cursor encrypt data in transit and at rest?
Cursor encrypts data both in transit and at rest, which is the assurance security reviewers usually ask for when you request an SSL-inspection exclusion.
- In transit
- TLS 1.2 or higher to Cursor services, TLS to third-party AI providers, certificate pinning for critical services.
- At rest
- AES-256 for stored data, encrypted vector database storage, encrypted code storage for Cloud Agents when enabled.
- Key management
- Cursor manages and rotates keys in secure key management systems; Enterprise can use Customer Managed Encryption Keys (CMEK).
Can Cursor reach our private repos and internal resources?
It depends on where the agent runs. When you run Cursor agents in the editor or via the CLI on a machine inside your VPC, they inherit that machine's network configuration: security groups, firewall rules, DNS, and VPN or private network access. So those agents can reach internal resources the machine can reach while following your existing controls.
Cloud Agents are different because they run on Cursor's infrastructure, not your network. They can reach public GitHub, GitHub Enterprise Cloud repos you've granted access to, GitHub Enterprise Server, on-prem and cloud GitLab, Bitbucket Cloud and public package registries. They cannot reach resources behind your corporate firewall, on-premises GitHub Enterprise Server or private package registries without internet access. For Enterprise teams that need Cloud Agents, BugbotCursor's automated PR reviewer that posts inline findings and can push fix commits from isolated VMs. or Cursor backend services to reach private source control, Cursor supports private connectivity via AWS PrivateLinkAn AWS feature that keeps traffic to a service on your private network instead of the public internet. and Cloudflare Tunnel.
Cursor does not currently offer VPC peering or customer-facing Google Private Service Connect. If your workflow needs internal resources that Cloud Agents can't reach, run Cursor in the editor on a machine inside your network instead.
How do we test and troubleshoot Cursor connectivity?
Most connectivity issues come from proxies buffering streaming responses. The documentation includes curl tests that simulate the requests Cursor makes. To check whether SSL inspection is active, run curl -v https://api2.cursor.sh |& grep -C1 issuer: and look at the certificate: you should see Amazon RSA, and seeing your proxy provider (such as Zscaler) means SSL inspection is intercepting the connection.
- 1Test basic connectivity to
api2.cursor.sh. - 2Check whether SSL inspection is active and consider excluding the Cursor domains above.
- 3Verify streaming works with the HTTP/1.1 SSE and HTTP/2 bidirectional curl tests from the docs.
- 4Confirm firewall rules allow
*.cursor.shand related domains. - 5Review proxy logs for connection errors or timeouts.
- 6Test from a machine outside your network to isolate network-specific issues.
Some teams want to route LLM traffic through their own gateway. Cursor notes that custom gateways can add latency, rate limiting and compatibility issues, and recommends its built-in Hooks feature for security controls instead. Note that Cursor's Zero Data Retention policy does not apply when you use your own API keys; your data handling then follows your chosen provider's privacy policy.
Frequently asked questions
Will Cursor work behind Zscaler?
Yes. Zscaler is the most widely used proxy that doesn't handle HTTP/2 streaming correctly, so Cursor automatically falls back to HTTP/1.1 Server-Sent Events, a fallback designed specifically for Zscaler and similar proxies. If you also run SSL inspection, exclude the Cursor domains the docs list to avoid timeouts.
Should we allowlist IP addresses or domains?
Domains. Cursor's IP addresses can change, so the documentation recommends allowlisting the patterns *.cursor.sh, *.cursor-cdn.com and *.cursorapi.com. Only use the granular subdomain list if your firewall cannot accept wildcards.
Can Cloud Agents access our internal GitHub Enterprise Server?
No. Cloud Agents run on Cursor's infrastructure and cannot reach on-premises GitHub Enterprise Server, resources behind your firewall or private registries without internet access. Run Cursor in the editor on a machine inside your network for those, or use private connectivity (AWS PrivateLink or Cloudflare Tunnel) for supported backend access.
Sources & last verified
- Cursor - Network Configuration
- Cursor - Private Connectivity
- Cursor - Endpoint Security
- Cursor - Hooks
- Cursor - Privacy and Data Governance
Cursor ships frequently. Facts verified against primary sources on June 25, 2026.