Three Tools Named read_file: Catching MCP Name Collisions Before Startup
Bundle enough MCP servers and tool names collide quietly. Here is what a real 5-server, 21-tool setup measured at 43% collision, plus a Python preflight that catches them before startup and assigns deterministic aliases.
It Worked Interactively but Went Silent Overnight — Making an Antigravity Agent Behave the Same in the Desktop and the CLI
An agent that runs perfectly in the Antigravity desktop app but does nothing when you schedule it through the CLI. This walks through absorbing the gap between interactive and unattended runs across four points — approvals, context, secrets, and runtime — with working code and a preflight check, so one definition behaves identically on both.
Confirm Your Unattended Runs Survived a Point Release in 30 Seconds
As Antigravity ships point releases at a fast clip, how do you stop scheduled runs from quietly breaking after an update? Here is a lightweight smoke test that detects regressions against a golden output and rolls back automatically when it diverges.
Antigravity 2.0, CLI, IDE, SDK — Weaving All Four Surfaces Through a Real Project
Antigravity ships as a desktop app, a CLI, an IDE, and a Python SDK. Beyond picking one, this guide shows how to weave all four across a single project — with a headless-execution wrapper for automation, plus the cost and migration traps to sidestep.
Piping Antigravity CLI's JSON Lines Output Into My Own Script — Notes on Partial Lines and Exit Codes
Feeding Antigravity CLI's machine-readable JSON Lines output into my own script broke with JSONDecodeError roughly one run in three. Here are the three traps — partial lines, exit codes, and stderr bleed — and the line-buffered consumer that finally made it stable.
Keeping Scheduled Runs Reproducible: Pinning the Antigravity CLI Version to Tame Behavior Drift
The Go-based Antigravity CLI is now available to everyone, and updates are landing at a quick pace. When a CLI baked into your automation upgrades underneath you, a single morning's job can behave differently. Here is how I keep things reproducible — pinning the binary, recording its identity in each run's log, and rolling upgrades forward one job at a time — drawn from running four sites on an overnight schedule.
When CLI, Desktop, and SDK Share One Agent Harness: Designing for Consistent Behavior
Now that Antigravity's CLI, desktop, and SDK share one agent harness, here is how to separate what stays consistent from what differs by environment, and how to align behavior with smoke tests and a version-tracking habit.
Measuring the Go-Based Antigravity CLI's Responsiveness to Rethink My Nightly Batch
The Antigravity CLI was reimplemented in Go, and startup and first-response feel different now. I measure startup, time-to-first-token, and throughput as three separate intervals, then use those numbers to move my nightly batch from serial to parallel.
Bundling Nightly Tasks With agy Async Jobs — A fan-out, poll, join Design
The Go-based Antigravity CLI (agy) can detach jobs and run them asynchronously. Here is a fan-out, poll, join design for firing many long-running tasks at once, collecting their job IDs, and waiting for completion — drawn from an actual nightly batch.
Matching Antigravity 2.0's Three Layers to Development Phases: Explore, Iterate, Operate
How I assign Antigravity 2.0's desktop, CLI, and SDK to development phases instead of features, with concrete handoff patterns between layers and the production pitfalls I hit.
From Gemini CLI to Antigravity CLI: A Working Record of the June 18 Migration
On June 18, Gemini CLI and the Code Assist extension stop serving individual users. Here is my actual record of moving to the Go-based Antigravity CLI: what broke, the command mapping, and the auth and quota traps I hit.