Thanks — that changes the path. Grok Bot is its own executable, so the firewall rule needs to target that program, not Cursor.exe.
## The corrected firewall rule (admin PowerShell)
powershell
``$grok = "C:\Program Files\Grok Bot\Grok Bot.exe" if (-not (Test-Path $grok)) { Write-Host "Not found at: $grok`nCheck the actual install folder." -ForegroundColor Red return } New-NetFirewallRule -DisplayName "Grok Bot Outbound" -Direction Outbound -Program $grok -Action Allow -Profile Any New-NetFirewallRule -DisplayName "Grok Bot Inbound" -Direction Inbound -Program $grok -Action Allow -Profile Any Write-Host "Firewall rules created for: $grok" -ForegroundColor Green``
The path has a space, so keep the quotes around it — PowerShell handles the quoted string fine with `New-NetFirewallRule -Program`.
## Then run the DNS / connectivity check
Since Grok Bot is the one reporting `*.cursorvm.com` as blocked, confirm whether it's actually the firewall or a DNS issue:
powershell
``Write-Host "`n--- DNS resolution ---" -ForegroundColor Cyan foreach ($t in @("us8.cursorvm.com","us10.cursorvm.com","test123.us8.cursorvm.com")) { $r = Resolve-DnsName $t -ErrorAction SilentlyContinue if ($r.IPAddress) { Write-Host "$t -> $($r.IPAddress -join ', ')" -ForegroundColor Green } else { Write-Host "$t -> FAILED TO RESOLVE" -ForegroundColor Red } } Write-Host "`n--- 443 connectivity ---" -ForegroundColor Cyan foreach ($t in @("us8.cursorvm.com","us10.cursorvm.com")) { $c = Test-NetConnection -ComputerName $t -Port 443 -WarningAction SilentlyContinue $s = if ($c.TcpTestSucceeded) { "OPEN" } else { "BLOCKED" } Write-Host "$t`:443 -> $s" -ForegroundColor $(if($c.TcpTestSucceeded){'Green'}else{'Red'}) }``
Then fully close and reopen Grok Bot.
## If DNS fails to resolve
Switch your adapter to public DNS — Settings → Network & internet → your connection → DNS server assignment → Manual → IPv4 → Preferred `1.1.1.1`, Alternate `8.8.8.8`. This is the fix that resolved "can't reach your computer" for other Grok Bot users, since ISP/router resolvers sometimes can't look up the per-computer wildcard subdomains under cursorvm.com.
Paste the diagnostic output and I'll tell you exactly which layer is blocking it.
---
PS C:\WINDOWS\system32> Write-Host "`n--- DNS resolution test ---" -ForegroundColor Cyan
>> $targets = @("us8.cursorvm.com","us10.cursorvm.com","test123.us8.cursorvm.com")
>> foreach ($t in $targets) {
>> $r = Resolve-DnsName $t -ErrorAction SilentlyContinue
>> if ($r.IPAddress) {
>> Write-Host "$t -> $($r.IPAddress -join ', ')" -ForegroundColor Green
>> } else {
>> Write-Host "$t -> FAILED TO RESOLVE" -ForegroundColor Red
>> }
>> }
>>
>> Write-Host "`n--- 443 connectivity test ---" -ForegroundColor Cyan
>> foreach ($t in @("us8.cursorvm.com","us10.cursorvm.com")) {
>> try {
>> $c = Test-NetConnection -ComputerName $t -Port 443 -WarningAction SilentlyContinue
>> $status = if ($c.TcpTestSucceeded) { "OPEN" } else { "BLOCKED" }
>> Write-Host "$t`:443 -> $status" -ForegroundColor $(if($c.TcpTestSucceeded){'Green'}else{'Red'})
>> } catch {
>> Write-Host "$t`:443 -> ERROR: $_" -ForegroundColor Red
>> }
>> }
--- DNS resolution test ---
us8.cursorvm.com -> 16.58.116.176, 18.224.163.213, 3.139.242.47
us10.cursorvm.com -> 18.204.118.4, 3.210.51.131, 44.221.207.219, 3.229.78.91, 52.87.40.170, 34.202.60.186
test123.us8.cursorvm.com -> 18.224.163.213, 16.58.116.176, 3.139.242.47
--- 443 connectivity test ---
us8.cursorvm.com:443 -> OPEN
us10.cursorvm.com:443 -> OPEN
PS C:\WINDOWS\system32> $grok = "C:\Program Files\Grok Bot\Grok Bot.exe"
>>
>> if (-not (Test-Path $grok)) {
>> Write-Host "Not found at: $grok`nCheck the actual install folder." -ForegroundColor Red
>> return
>> }
>>
>> New-NetFirewallRule -DisplayName "Grok Bot Outbound" -Direction Outbound -Program $grok -Action Allow -Profile Any
>> New-NetFirewallRule -DisplayName "Grok Bot Inbound" -Direction Inbound -Program $grok -Action Allow -Profile Any
>> Write-Host "Firewall rules created for: $grok" -ForegroundColor Green
Name : {a09e0a09-ca8f-475f-bc4a-f21cb77efe8b}
DisplayName : Grok Bot Outbound
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Outbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : The rule was parsed successfully from the store. (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
RemoteDynamicKeywordAddresses : {}
PolicyAppId :
PackageFamilyName :
Name : {0f19a75c-5d78-465b-9b3b-dd5b57ed23bd}
DisplayName : Grok Bot Inbound
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : The rule was parsed successfully from the store. (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
RemoteDynamicKeywordAddresses : {}
PolicyAppId :
PackageFamilyName :
Firewall rules created for: C:\Program Files\Grok Bot\Grok Bot.exe
PS C:\WINDOWS\system32>
---