# [Bug] Browser CDP mode broken on Windows with Chrome 145 — language_server Playwright incompatibility
## Environment
- **OS**: Windows 10 (x64)
- **Antigravity Version**: Latest (Feb 2026)
- **Chrome Version**: 145.0.7632.110
- **language_server**: `language_server_windows_x64.exe`
## Description
The browser subagent (CDP mode) completely fails on Windows. Every `open_browser_url` call fails with:
```
failed to connect to browser via CDP even though the CDP port is responsive:
http://127.0.0.1:9222: playwright: Unexpected status 400 when connecting to
http://127.0.0.1:9222/json/version/.
This does not look like a DevTools server, try connecting via ws://.
```
**The same setup works fine on macOS.**
## Root Cause Analysis
After extensive debugging, I confirmed the issue is **inside the `language_server` binary’s bundled Playwright**, not Chrome or any external configuration.
### Evidence: External Playwright works perfectly
```bash
$ npm install playwright-core
$ node -e "
const { chromium } = require(‘playwright-core’);
(async () => {
const browser = await chromium.connectOverCDP(‘http://127.0.0.1:9222’);
console.log(‘Connected:’, browser.version());
const page = await browser.contexts()[0].newPage();
await page.goto(‘https://www.example.com’);
console.log(‘Title:’, await page.title());
await browser.close();
})();"
```
**Output:**
```
Connected: 145.0.7632.110
Title: Example Domain
```
### Evidence: All other HTTP clients work
| Client | Request to `/json/version/` | Status |
|--------|---------------------------|--------|
| `curl.exe` |
200 OK | Works |
| PowerShell `Invoke-WebRequest` |
200 OK | Works |
| Node.js `http.request` |
200 OK | Works |
| External `playwright-core` (latest) |
Connected + page loaded | Works |
| **Antigravity `language_server` internal Playwright** |
**HTTP 400** | **Broken** |
### Hypotheses Ruled Out
-
Chrome version incompatibility — external Playwright connects fine
-
Missing `HOME` environment variable — set it, no effect
-
Corrupted browser profile — deleted and recreated, no effect
-
HTTP proxy interference — removed all proxy settings, no effect; system proxy is disabled
-
Port conflict — port 9222 is exclusively used by Antigravity’s managed Chrome
-
Multiple Chrome instances conflicting — external Playwright works even with multiple Chrome instances running
## Conclusion
The `language_server_windows_x64.exe` bundles an older or modified version of Playwright whose `connectOverCDP` implementation is incompatible with Chrome 145 on Windows. The latest Playwright-core (npm) works perfectly with the exact same Chrome instance on the exact same machine.
## Expected Behavior
Browser subagent should successfully connect to Chrome via CDP on Windows, just as it does on macOS.
## Steps to Reproduce
1. Install Antigravity on Windows with Chrome 145+
2. Attempt any browser subagent task (e.g., navigate to a URL)
3. Observe the `Unexpected status 400` error
## Suggested Fix
Update the Playwright version bundled inside `language_server_windows_x64.exe` to match the latest `playwright-core` which handles Chrome 145 CDP correctly.