<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nirbhay Hiwse</title>
    <description>The latest articles on DEV Community by Nirbhay Hiwse (@nirbhay_hiwse).</description>
    <link>https://dev.to/nirbhay_hiwse</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4107395%2Fa731250e-0ac2-473d-89be-386e3d6a8e58.png</url>
      <title>DEV Community: Nirbhay Hiwse</title>
      <link>https://dev.to/nirbhay_hiwse</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nirbhay_hiwse"/>
    <language>en</language>
    <item>
      <title>Why GitHub Codespaces Fails in Open-Source IDEs (and How I Fixed It)</title>
      <dc:creator>Nirbhay Hiwse</dc:creator>
      <pubDate>Thu, 03 Sep 2026 07:07:42 +0000</pubDate>
      <link>https://dev.to/nirbhay_hiwse/why-github-codespaces-fails-in-open-source-ides-and-how-i-fixed-it-3na3</link>
      <guid>https://dev.to/nirbhay_hiwse/why-github-codespaces-fails-in-open-source-ides-and-how-i-fixed-it-3na3</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;But the moment you step outside standard Microsoft VS Code — into &lt;strong&gt;Google Antigravity IDE&lt;/strong&gt;, &lt;strong&gt;Code-OSS&lt;/strong&gt;, &lt;strong&gt;Gitpod&lt;/strong&gt;, or &lt;strong&gt;VSCodium&lt;/strong&gt; — the whole experience falls apart.&lt;/p&gt;

&lt;p&gt;I ran into three specific technical walls that forced me to build my own solution: &lt;strong&gt;Antigravity Codespaces Pro&lt;/strong&gt;. Here is the breakdown of why it broke, and how I engineered around each limitation.&lt;/p&gt;




&lt;h3&gt;
  
  
  Problem 1: The Proprietary Extension Lock-in
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Fix:
&lt;/h4&gt;

&lt;p&gt;You don't actually need Microsoft's proprietary extension host to talk to a Codespace. The GitHub CLI (&lt;code&gt;gh&lt;/code&gt;) already has a built-in proxy mechanism:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gh cs ssh &lt;span class="nt"&gt;-c&lt;/span&gt; &amp;lt;codespace-name&amp;gt; &lt;span class="nt"&gt;--stdio&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By generating dynamic SSH config blocks pointing to this &lt;code&gt;ProxyCommand&lt;/code&gt;, 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.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host cs.&amp;lt;codespace-name&amp;gt;
    HostName cs.&amp;lt;codespace-name&amp;gt;
    User codespace
    ProxyCommand gh cs ssh -c &amp;lt;codespace-name&amp;gt; --stdio
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Problem 2: The Multi-Account CLI Bottleneck
&lt;/h3&gt;

&lt;p&gt;Most developers juggle more than one GitHub account: a personal profile, a work handle, or client organization access.&lt;/p&gt;

&lt;p&gt;Normally, the &lt;code&gt;gh&lt;/code&gt; CLI operates with a single active token. Running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gh auth switch &lt;span class="nt"&gt;--user&lt;/span&gt; account-b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;switches your entire machine's context globally. If you have an active Codespace running under &lt;code&gt;account-a&lt;/code&gt;, running CLI commands or background sync scripts under &lt;code&gt;account-b&lt;/code&gt; immediately causes OAuth authentication collisions and dropped sessions.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Fix:
&lt;/h4&gt;

&lt;p&gt;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:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Token-isolated execution — no global CLI state hopping&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;GH_TOKEN&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;accountToken&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="nf"&gt;execFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gh&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;api&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/user/codespaces&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="nx"&gt;callback&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every account is polled in parallel. Your local git config and global CLI state remain completely untouched.&lt;/p&gt;




&lt;h3&gt;
  
  
  Problem 3: Silent WebSocket Drops During Long AI Agent Runs
&lt;/h3&gt;

&lt;p&gt;In editors like Google Antigravity IDE or Cursor, autonomous AI agents can run for 10–20 minutes analyzing files or running background benchmarks.&lt;/p&gt;

&lt;p&gt;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 (&lt;code&gt;wsarecv: An established connection was aborted&lt;/code&gt;). The editor UI hangs, but the remote container has no idea you disconnected.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Fix:
&lt;/h4&gt;

&lt;p&gt;The extension automatically injects strict keepalive parameters into every generated &lt;code&gt;~/.ssh/config&lt;/code&gt; host block:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host cs.*
    ServerAliveInterval 30
    ServerAliveCountMax 10
    TCPKeepAlive yes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;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.&lt;/p&gt;




&lt;h3&gt;
  
  
  The UI: Bento Grid Cloud Hub
&lt;/h3&gt;

&lt;p&gt;Rather than stuffing everything into a tiny sidebar tree, I built a full-window Bento Grid dashboard:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live resource monitoring:&lt;/strong&gt; vCPU counts, RAM allocations, and cloud region for each instance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Direct lifecycle controls:&lt;/strong&gt; Turn ON cold containers, Stop idle ones to save GitHub billable core-hours, or trigger full clean DevContainer rebuilds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alt + C Quick Connect:&lt;/strong&gt; A fuzzy-search launcher accessible anywhere in the editor without touching the mouse.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port Forwarding Discovery:&lt;/strong&gt; Scans forwarded container ports with 1-click browser links.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Getting Started
&lt;/h3&gt;

&lt;p&gt;The extension is fully open-source under the MIT license and available across both major registries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VS Code Marketplace:&lt;/strong&gt; &lt;a href="https://marketplace.visualstudio.com/items?itemName=nirbhay-hiwse.antigravity-codespaces" rel="noopener noreferrer"&gt;nirbhay-hiwse.antigravity-codespaces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open VSX Registry (Antigravity IDE &amp;amp; Code-OSS):&lt;/strong&gt; &lt;a href="https://open-vsx.org/extension/nirbhay-hiwse/antigravity-codespaces" rel="noopener noreferrer"&gt;nirbhay-hiwse.antigravity-codespaces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source Code &amp;amp; Issues:&lt;/strong&gt; &lt;a href="https://github.com/Nir-Bhay/antigravity-codespaces" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you use non-Microsoft editors or juggle multiple cloud accounts, give it a spin. Feedback and PRs are always welcome!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>github</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to Use GitHub Codespaces in Google Antigravity IDE (and Manage Multiple Accounts)</title>
      <dc:creator>Nirbhay Hiwse</dc:creator>
      <pubDate>Thu, 03 Sep 2026 07:01:50 +0000</pubDate>
      <link>https://dev.to/nirbhay_hiwse/how-to-use-github-codespaces-in-google-antigravity-ide-and-manage-multiple-accounts-4n6g</link>
      <guid>https://dev.to/nirbhay_hiwse/how-to-use-github-codespaces-in-google-antigravity-ide-and-manage-multiple-accounts-4n6g</guid>
      <description>&lt;p&gt;If you use Google Antigravity IDE, Code-OSS, or any open-source editor, GitHub Codespaces has no native extension support.&lt;/p&gt;

&lt;p&gt;To solve this, I built and open-sourced &lt;strong&gt;Antigravity Codespaces Pro&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Native Codespaces in Antigravity IDE:&lt;/strong&gt; Connect to your cloud VMs with 1-click.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Account Engine:&lt;/strong&gt; Manage multiple GitHub accounts in parallel without CLI profile switching.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bento Cloud Hub Dashboard:&lt;/strong&gt; Full-page visual dashboard with live container status and hardware specs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Alt + C Quick Connect:&lt;/strong&gt; Fuzzy-search and attach in 2 seconds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Agent KeepAlive:&lt;/strong&gt; Prevents WebSocket drops during long AI sessions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Install Now
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;VS Code Marketplace:&lt;/strong&gt; &lt;a href="https://marketplace.visualstudio.com/items?itemName=nirbhay-hiwse.antigravity-codespaces" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=nirbhay-hiwse.antigravity-codespaces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open VSX Registry:&lt;/strong&gt; &lt;a href="https://open-vsx.org/extension/nirbhay-hiwse/antigravity-codespaces" rel="noopener noreferrer"&gt;https://open-vsx.org/extension/nirbhay-hiwse/antigravity-codespaces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repo:&lt;/strong&gt; &lt;a href="https://github.com/Nir-Bhay/antigravity-codespaces" rel="noopener noreferrer"&gt;https://github.com/Nir-Bhay/antigravity-codespaces&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cloud</category>
      <category>github</category>
      <category>showdev</category>
      <category>vscode</category>
    </item>
  </channel>
</rss>
