Microsoft's GitHub Codespaces is easily one of the best cloud developer environments available today. You click a button, a container boots in the cloud, and within 30 seconds you have a fully configured Linux environment with all your dependencies pre-installed.
But the moment you step outside standard Microsoft VS Code — into Google Antigravity IDE, Code-OSS, Gitpod, or VSCodium — the whole experience falls apart.
I ran into three specific technical walls that forced me to build my own solution: Antigravity Codespaces Pro. Here is the breakdown of why it broke, and how I engineered around each limitation.
Problem 1: The Proprietary Extension Lock-in
The official GitHub Codespaces extension relies on closed-source VS Code APIs and telemetry hooks that only exist in Microsoft-branded binaries. If you inspect the Open VSX registry or try running the official VSIX inside Code-OSS or Antigravity IDE, it fails to initialize the connection authority. You get a blank sidebar and silent errors in the output channel.
The Fix:
You don't actually need Microsoft's proprietary extension host to talk to a Codespace. The GitHub CLI (gh) already has a built-in proxy mechanism:
gh cs ssh -c <codespace-name> --stdio
By generating dynamic SSH config blocks pointing to this ProxyCommand, any remote SSH client — including Open-Remote-SSH and Antigravity IDE — can attach to the remote container over standard port 443 without needing closed-source binaries.
Host cs.<codespace-name>
HostName cs.<codespace-name>
User codespace
ProxyCommand gh cs ssh -c <codespace-name> --stdio
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Problem 2: The Multi-Account CLI Bottleneck
Most developers juggle more than one GitHub account: a personal profile, a work handle, or client organization access.
Normally, the gh CLI operates with a single active token. Running:
gh auth switch --user account-b
switches your entire machine's context globally. If you have an active Codespace running under account-a, running CLI commands or background sync scripts under account-b immediately causes OAuth authentication collisions and dropped sessions.
The Fix:
Instead of switching global accounts, the extension queries the secure OS credential store, extracts cached OAuth Bearer tokens for all authenticated accounts, and passes them independently via environment variables:
// Token-isolated execution — no global CLI state hopping
const env = { ...process.env, GH_TOKEN: accountToken };
execFile('gh', ['api', '/user/codespaces'], { env }, callback);
Every account is polled in parallel. Your local git config and global CLI state remain completely untouched.
Problem 3: Silent WebSocket Drops During Long AI Agent Runs
In editors like Google Antigravity IDE or Cursor, autonomous AI agents can run for 10–20 minutes analyzing files or running background benchmarks.
During these phases, the SSH client often sends zero interactive terminal input. Standard OS TCP timeouts or home Wi-Fi NAT routers see this as an idle connection and silently terminate the socket (wsarecv: An established connection was aborted). The editor UI hangs, but the remote container has no idea you disconnected.
The Fix:
The extension automatically injects strict keepalive parameters into every generated ~/.ssh/config host block:
Host cs.*
ServerAliveInterval 30
ServerAliveCountMax 10
TCPKeepAlive yes
This forces the SSH tunnel to send a low-level probe every 30 seconds. If an adapter blinks or the internet switches, it retries cleanly instead of hard-dropping the session.
The UI: Bento Grid Cloud Hub
Rather than stuffing everything into a tiny sidebar tree, I built a full-window Bento Grid dashboard:
- Live resource monitoring: vCPU counts, RAM allocations, and cloud region for each instance.
- Direct lifecycle controls: Turn ON cold containers, Stop idle ones to save GitHub billable core-hours, or trigger full clean DevContainer rebuilds.
- Alt + C Quick Connect: A fuzzy-search launcher accessible anywhere in the editor without touching the mouse.
- Port Forwarding Discovery: Scans forwarded container ports with 1-click browser links.
Getting Started
The extension is fully open-source under the MIT license and available across both major registries:
- VS Code Marketplace: nirbhay-hiwse.antigravity-codespaces
- Open VSX Registry (Antigravity IDE & Code-OSS): nirbhay-hiwse.antigravity-codespaces
- Source Code & Issues: GitHub Repository
If you use non-Microsoft editors or juggle multiple cloud accounts, give it a spin. Feedback and PRs are always welcome!
Top comments (1)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.