For the past few months, every time I woke up my laptop, Windows 11 showed me that "Add widgets" button.

Every time I looked through the list of available widgets to pick from, there was simply nothing in there that I actually needed. Still, seeing that empty spot every day got me thinking about what I wouldgenuinely want to see right after turning on my laptop—something that loads while I go make a cup of tea and is ready by the time I sit back down.

Eventually, I realized the most useful thing to put there would be myGoogle Antigravity model limits.

When you use Antigravity every day—splitting work betweenGemini 3.8 Flash, Claude / GPT, andGemini 4 Argon—knowing which 5-hour or weekly quota pools have reset dictates how you plan your session. Having those numbers visible right after startup, before I even open an IDE, made complete sense.

So I built AgentPulse: a small Windows 11 utility that shows my remaining Antigravity quotas and cooldowns on the Lock Screen, the Windows Widgets Board, the System Tray, and a taskbar flyout.

Getting quota numbers outside the editor took a few tries before I landed on an approach that actually made sense.

1. Asking the Local Language Server

My first attempt was querying Antigravity's local language server process directly. That ran into two immediate limitations:

  • It only runs after the app starts: If the whole point is to see my limits right after Windows boots while I'm getting a cup of tea—before opening any heavy dev tools—relying on the editor's language server defeats the purpose.
  • Every Antigravity instance runs its own server: If you have multiple workspaces or different Antigravity instances open, each one spins up a separate language server on an ephemeral port. Trying to track and query dynamic ports from a standalone widget wasn't practical.

2. Direct Google OAuth

Next, I tried going the Google OAuth route to query the usage endpoints directly. That turned out to be the wrong path too: Antigravity's internal quota endpoints rely on first-party OAuth client credentials and internal scopes that an external desktop tool cannot cleanly authenticate against on its own without fragile token spoofing.

3. The Obvious Solution: agy CLI + JSON Stream

Finally, I found the straightforward solution sitting inside the official Antigravity CLI (agy).

Since agy is already installed and logged in on my machine, running it in headless JSON streaming mode and calling the quota command gives me the exact structured telemetry I need:

agy --input-format stream-json --output-format stream-json

The only catch with using the agy CLI is that its cold start takes a bit of time while it initializes the session. If the widget launched a brand-new CLI process every time I clicked refresh, the startup delay would be annoying.

At the same time, a quota widget doesn't need a noisy background polling loop hammering the server every minute. My limits don't change when I'm not running agents.

Instead, AgentPulse keeps a single agy process open in stream mode:

  1. Startup Fetch: When the laptop starts, AgentPulse opens the stream-json pipe in the background and runs the initial check. The slow cold start happens while I'm away making tea, so the numbers are already waiting when I sit back down.
  2. Refresh on Click: After that first check, the stream stays open and idle—no timers, no background polling. Whenever I want fresh numbers later in the day, clicking the widget sends a command over the already-open stream and updates right away.

Built with C# / .NET 11 and WinUI 3 (Windows App SDK)using CommunityToolkit.Mvvm, the app surfaces quota data across four distinct Windows 11 integration points:

SurfaceImplementationWhat It Displays
Lock ScreenWindows Lock Screen badge & tile notificationsRemaining quota stats right on the lock screen after boot
Widgets Board (Win + W)IWidgetProvider COM server + Adaptive CardsA 3-gauge circular widget for Gemini (5h & weekly), Claude / GPT, and Gemini 4 Argon
System TrayDynamic icon drawn via Win32 GDI+Remaining quota percentage rendered directly on the tray icon
Flyout WindowWinUI 3 taskbar flyoutDetailed breakdown of model quotas and exact cooldown timers

There is no Microsoft Store release or packaged installer yet—if you want to use it, you can grab the source from GitHub and build it locally. You just need Windows 11, the .NET SDK, and the agy CLI installed and authenticated:

# 1. Clone the repository
git clone https://github.com/Evgenii-Zinner/AgentPulse.git
cd AgentPulse

# 2. Build the application
dotnet build src/AgentPulse/AgentPulse.csproj -c Debug

# 3. Register the package and Windows 11 Widget Provider
Add-AppxPackage -Register src/AgentPulse/bin/Debug/net11.0-windows10.0.26100.0/win-x64/AppxManifest.xml

# 4. Launch AgentPulse
Start-Process "shell:AppsFolder\AgentPulse.App_x8cztb2e9ee42!App"

The full source code is available on GitHub: Evgenii-Zinner/AgentPulse.