Cursor Integration

WAI Docs Wed Aug 19 13:22:37 EDT 2026
List
Quick Start
Welcome
Supported Applications & LLMs
Release Notes
August 18, 2026 WitnessAI Release
August 4, 2026 WitnessAI Release
July 21, 2026 WitnessAI Release
July 14, 2026 WitnessAI Release
July 9, 2026 WitnessAI Release
June 30, 2026 WitnessAI Hotfix
June 23, 2026 WitnessAI Release
June 16, 2026 WitnessAI Release
June 11, 2026 WitnessAI Release
June 4, 2026 WitnessAI Hotfix
June 2, 2026 WitnessAI Update
May 19, 2026 WitnessAI Update
April 30, 2026 WitnessAI Update
April 28, 2026 WitnessAI Update
April 23, 2026 WitnessAI Update
April 16, 2026 WitnessAI Update
April 14, 2026 WitnessAI Update
April 9, 2026 WitnessAI Update
April 9, 2026 WitnessAI Update
April 7, 2026 WitnessAI Update
April 2, 2026 WitnessAI Update
March 31, 2026 WitnessAI Update
March 24, 2026 WitnessAI Update
March 19, 2026 WitnessAI Update
March 17, 2026 WitnessAI Update
March 12, 2026 WitnessAI Update
March 5, 2026 WitnessAI Update
February 26, 2026 WitnessAI Update
February 24, 2026 WitnessAI Update
February 10, 2026 WitnessAI Update
January 27, 2026 WitnessAI Update
January 20, 2026 WitnessAI Update
January 13, 2026 WitnessAI Update
December 18, 2025 WitnessAI Update
December 9, 2025 WitnessAI Update
November 25, 2025 WitnessAI Update
November 18, 2025 WitnessAI Update
November 11, 2025 WitnessAI Update
October 28, 2025 WitnessAI Update
October 23, 2025 WitnessAI Update
October 9, 2025 WitnessAI Update
October 2, 2025 WitnessAI Update
September 30, 2025: WitnessAI Update
September 23, 2025: WitnessAI Update
August 12, 2025: WitnessAI Update
July 31, 2025: WitnessAI Update
July 18, 2025: WitnessAI Update
April 11, 2025: WitnessAI Release v2.0
June 9, 2025: WitnessAI Update
June 23, 2025: WitnessAI Update
TOC Left Sidebar: not active
TOC Left Sidebar: ORIGINAL
User Guide
Policies - GuardRails
Witness Anywhere: Remote Device Security
Witness Attack
Administrator Guide
404
 

Configuring Cursor Proxy via Witness Anywhere

💡
Note: New and updated features may not be immediately available on your dedicated deployment due to participation in limited release availability, beta programs, or regional configurations.
If you don't see a feature you expect, please reach out to your Customer Success team — we're happy to help.
 

Zscaler Integration: Cursor HTTP/1.1 Downgrade Configuration


Overview

For WitnessAI customers using Zscaler with SSL/TLS inspection enabled, Cursor traffic that is inspected over HTTP/2 can fail in production — sessions may hang, clients may report HTTP/2 protocol errors, and WitnessAI would not be able to receive visibility into Cursor prompts and agent activity. This is due to a Zscaler limitation that prevents reliable SSL/TLS inspection of Cursor thick client traffic over HTTP/2.
To restore reliable inspection and governance, it is required to configure Zscaler to downgrade Cursor domains to HTTP/1.1 at the SSL inspection layer while keeping Inspect enabled. This can be done in two steps:
  1. Create a custom URL category listing Cursor domains.
  2. Add a new SSL/TLS inspection rule that references that category, sits above the existing inspect rule for WitnessAI traffic, and has Enable HTTP/2 turned Off.
All other traffic continues to match the existing SSL inspection rules (HTTP/2 may remain enabled there).

Prerequisites

Requirement
Notes
ZIA administrator access
Rights to edit URL Categories and SSL/TLS Inspection Policy
WitnessAI SSL inspection
An existing rule that Inspects traffic forwarded to WitnessAI
HTTP/2 toggle on tenant
Enable HTTP/2 appears only if Zscaler has enabled it for your organization. If the toggle is missing, contact Zscaler Support.
Policy activation
After saving changes, activate policy in ZIA (standard workflow).
Example names (you may rename):
  • URL category: Witness-Cursor-H1-Downgrade
  • SSL/TLS Inspection Policy: H1-Downgrade-Cursor

Part A — Create a custom URL category

  1. Navigation: AdministrationURL Categories+ Add URL Category
  2. Click + Add URL Category.
Zscaler Internet Access (ZIA) URL Categories page showing ‘URL Categories (Parent: 0, Custom: 8)’ list. The ‘+ Add URL Category’ button is highlighted. Used to create a custom URL category for Cursor AI domains to configure SSL inspection bypass.
  1. Name: e.g. Witness-Cursor-H1-Downgrade.
  2. URL Super Category: Information Technology.
  3. Under URLs Retaining Parent Category, click Add Items and copy paste the block of URLs provided below:
.cursor.com .cursor.sh .cursor.so
  1. Click Save.
Zscaler Internet Access ‘Add URL Category’ dialog showing configuration for Witness-Cursor-H1-Downgrade category. Name=’Witness-Cursor-H1-Downgrade’, URL Super Category=’Information Technology’. URLs Retaining Parent Category list shows: .agent.apr5.cursor.sh, .api2.cursor.sh, .aptb.cursor.sh, .cursor.com, .cursor.sh (1-6 of 6 entries).

Part B — Create SSL/TLS inspection rule (HTTP/2 disabled)

  1. Navigation: PolicySSL InspectionSSL/TLS Inspection Policy tab → + Add SSL/TLS Inspection Rule
Zscaler Internet Access SSL/TLS Inspection Policy page showing the ‘Add SSL/TLS Inspection Rule’ button highlighted with a red border. The SSL/TLS Inspection Policy tab is active, displaying existing inspection rules. Used to navigate to create a new SSL/TLS inspection rule for Cursor AI domains.
  1. Rule Order: Make sure that it’s above the existing SSL/TLS inspection Rule for WitnessAI traffic
  2. Rule Name: e.g. H1-Downgrade-Cursor.
  3. Rule Status: Enabled.
  4. Criteria → URL Categories: Select your category from Part A (e.g. Witness-Cursor-H1-Downgrade).
SSL/TLS inspection rule configuration form in Zscaler Internet Access showing Rule Status set to ‘Enabled’, URL Categories field with ‘Witness-Cursor-H1-Downgrade’ selected (highlighted with red border), Cloud Applications, Destination Groups, Forwarding Gateway, and other rule fields. Used to configure a new SSL/TLS inspection rule for Cursor AI HTTP/1.1 downgrade.
  1. Action: Inspect (required for WitnessAI to see decrypted Cursor traffic).
  2. Enable HTTP/2: Off (disabled). This forces HTTP/1.1 for matching Cursor domains—the core of this guide.
  3. Align other action fields with your existing inspect rule.
  4. Description (optional): e.g. WitnessAI Cursor — HTTP/1.1 for SSL inspection compatibility.
  5. Click Save.
SSL/TLS inspection rule ACTION section form showing Action set to ‘Inspect’, Override Default Intermediate CA Certificate set to ‘No’, Untrusted Server Certificates set to ‘Block’, Block No Server Name Indication enabled, OCSP Revocation Check enabled (green), Block Undecryptable Traffic enabled, Minimum Client and Server TLS Version set to TLS 1.0, and ‘Enable HTTP/2’ toggle set to Off (highlighted with orange border). Used to disable HTTP/2 to force HTTP/1.1 for Cursor AI traffic inspection.
Please remember to Activate the configuration in ZScaler after the above steps.
After configuration and activation, non-Cursor traffic continues to match your existing SSL inspection rules below this rule. HTTP/2 may remain enabled on those rules.

Witness Anywhere Integration: Cursor HTTP/1.1 Downgrade Configuration

Overview

For WitnessAI customers using Witness Anywhere, Cursor application in HTTP/2 mode will not honor the system PAC file on enrolled endpoints and the traffic goes out directly, bypassing the Witness Anywhere proxy. As a result, WitnessAI cannot inspect or govern that traffic, and Cursor usage may not appear in the WitnessAI console.
To restore reliable inspection and governance, it is required to switch to HTTP/1.1 mode inside the Cursor application on each enrolled endpoint. This is done either at registration time (new customers) or via a standalone migration script pushed through MDM (existing customers).

What changes on the endpoint

These settings affect Cursor only, not system proxy or Witness Anywhere PAC configuration.
Platform
Mechanism
Windows
cursor.general.disableHttp2 set to true in the logged-in user’s %USERPROFILE%\AppData\Roaming\Cursor\User\settings.json
macOS
Per-user preference NetworkDisableHttp2 on bundle ID com.todesktop.230313mzl4w4u92
Cursor must be restarted after the change is applied so settings take effect reliably.

Note on end-user override behavior:

Windows: End users can open Cursor settings and manually change the HTTP mode to HTTP2 , which would stop traffic forwarding to the WitnessAI Proxy.
macOS: End users cannot change this setting within the Cursor app UI — because it is applied via a CLI-based defaults command, Cursor will display the setting as disabled/read-only for them.

New Witness Anywhere customers

Before the Witness Anywhere registration script is uploaded to MDM provider, enable the built-in admin flag so HTTP/2 is disabled automatically after a successful device registration.

Windows

At the top of the registration script:
$disableCursorHttp2 = $true # Change from $false to disable HTTP/2 on Cursor
Default is $false. Set to $true, then upload the script to MDM and run your normal enrollment workflow.

macOS

Near the top of the registration script:
disableCursorHttp2="true" # Change from "false" to disable HTTP/2 on Cursor
Default is "false". Set to "true", then upload to MDM and run enrollment.

Tanium

The Tanium deployment bundle uses a numeric parameter instead of a hardcoded variable:
[int]$DisableCursorHttp2 = 1 # 1 = disable Cursor HTTP/2, 0 = leave unchanged

After upload

When registration completes successfully, the script runs the same Cursor HTTP/2 disable logic as the standalone migration scripts below. No separate migration script is needed for new rollouts if the flag is set before MDM upload.

Existing Witness Anywhere customers

Devices enrolled before the disableCursorHttp2 flag was enabled will not have Cursor HTTP/2 disabled until you take action.
Recommended approach
  1. Select the script corresponding to the Operating System.
    1. Windows
# WitnessAI — Disable Cursor HTTP/2 (Windows) Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process -Force $logFilePath = "C:\Windows\Temp\witnessai-disable-cursor-http2-log.txt" Start-Transcript -Path $logFilePath function Disable-CursorHttp2 { param([string]$username) $settingsDir = "$env:SystemDrive\Users\$username\AppData\Roaming\Cursor\User" $settingsFile = Join-Path $settingsDir "settings.json" try { if (-not (Test-Path $settingsDir)) { New-Item -Path $settingsDir -ItemType Directory -Force | Out-Null } if (-not (Test-Path $settingsFile)) { '{}' | Set-Content -Path $settingsFile -Encoding UTF8 } $raw = Get-Content -Path $settingsFile -Raw -ErrorAction Stop if ([string]::IsNullOrWhiteSpace($raw)) { $raw = '{}' } $json = $raw | ConvertFrom-Json if ($null -eq $json."cursor.general.disableHttp2") { $json | Add-Member -NotePropertyName "cursor.general.disableHttp2" -NotePropertyValue $true -Force } else { $json."cursor.general.disableHttp2" = $true } $json | ConvertTo-Json -Depth 10 | Set-Content -Path $settingsFile -Encoding UTF8 Write-Output "Cursor HTTP/2 disabled for '$username'" } catch { Write-Output "Failed to disable Cursor HTTP/2 for '$username'" exit 1 } } $loggedInUser = (Get-WmiObject -Class Win32_ComputerSystem).UserName.Split('\')[-1] if (-not $loggedInUser) { Write-Output "No user is currently logged in." Stop-Transcript exit 1 } Disable-CursorHttp2 -username $loggedInUser Stop-Transcript exit 0
b. macOS
#!/bin/bash # WitnessAI — Disable Cursor HTTP/2 (macOS) set -euo pipefail LOG_FILE="/tmp/witnessai-disable-cursor-http2.log" exec >>"$LOG_FILE" 2>&1 echo "**************** WitnessAI disable Cursor HTTP/2 at $(date '+%Y-%m-%d %H:%M:%S') ****************" current_user=$(stat -f %Su /dev/console) if [[ -z "$current_user" || "$current_user" == "root" || "$current_user" == "loginwindow" ]]; then echo "No interactive user logged in; skipping Cursor HTTP/2 disable" exit 0 fi if sudo -u "$current_user" defaults write com.todesktop.230313mzl4w4u92 NetworkDisableHttp2 -bool true; then echo "Cursor HTTP/2 disabled for '$current_user'" exit 0 else echo "Failed to disable Cursor HTTP/2 for '$current_user'" exit 1 fi
  1. Upload the appropriate script to your MDM provider.
  2. Deploy as a one-time script in the same execution context as your other Witness Anywhere MDM scripts (typically root on macOS, SYSTEM on Windows).
  3. Ensure an interactive user is logged in when the script runs; otherwise it exits without changes.
Re-running the full Witness Anywhere registration script only to flip this flag is usually unnecessary and may be disruptive; the standalone scripts are preferred for existing fleets.

Script logs

Platform
Log path
macOS
/tmp/witnessai-disable-cursor-http2.log
Windows
C:\Windows\Temp\witnessai-disable-cursor-http2-log.txt