All Articles
Choosing a Remote Control Host Machine Comes Down to Daemon Lifetime and Revocation Paths
What to settle before you flip on Remote Control in Antigravity 2.0: how the headless daemon behaves per OS, why there are two separate sign-out paths, and how to inventory the read surface on a candidate host machine.
Count What Writes Outside Your Workspace Before You Upgrade to CLI 1.1.14
Antigravity CLI 1.1.14 makes paths outside the workspace read-only by default. If your source assets and delivery targets live outside the repository, it is worth knowing what breaks before you upgrade. Here is a script that inventories your write targets, and the two ways it quietly undercounts them.
How Much Slower Search Gets When /codesearch Cannot Run ripgrep
Antigravity CLI 1.1.13 moved the bundled ripgrep binary, and /codesearch quietly falls back to local search when it cannot run. I measured the cost of that fallback on a real repository and wrote down how to tell which path your machine is on.
Deleting Duplicate Rows Will Not Shrink Your Antigravity CLI Conversation Database
A schema-agnostic way to audit conversation database growth, plus measurements showing why deletion reclaims nothing and why freelist_count is the wrong number to trust when you estimate how much you can get back.
Running Antigravity CLI 1.1.13 on a Machine You Cannot Sign In From
I put agy on a box with no browser and the sign-in screen stopped me cold. Here is how direct GEMINI_API_KEY auth from CLI 1.1.13 works, how to confirm it took effect, and why you should not hand it the key your app already uses.
Guarding the Turn Boundary in Non-Interactive Runs: A Command Table and a Fail-Closed Gate
A scheduled job meant only to record usage was calling the model on every run. Here is how I split commands into ones that start a turn and ones that do not, built a gate that refuses anything unclassified, and measured it against real scripts.
The Line I Thought Matched Nothing Was Approving Everything: Auditing Empty Allowlist Entries
Allowlist entries that decompose to zero command words matched every command and silently auto-approved it. Here is how I scanned my own config, separated the hole the fix closed from the one it did not, and rewrote matching to a prefix-token comparison.
The Hooks That Get Rejected Are the Cheap Ones: Measuring Matcher Reachability
Hook configurations that can never execute are now rejected at load time. But when I checked my own config against all 21 tool names, the real problems were on the side that passed. A static reachability checker, plus measured numbers on what over-matching actually costs.
I Copied the Same agent.md Into Another Repo and It Quietly Did a Different Job
CLI 1.1.6 lets you carry agent definitions around as files. I dropped one definition into eight repos, built a preflight that resolves its declared capabilities before the agent runs, and measured it against a naive checker.
The Flaky Hook Started Failing Every Time — Migrating to Declarative Sessions in the Antigravity SDK
Registering hooks after session init is gone, replaced by declaration at session creation. Here is what happened when I moved four agent definitions across, plus the harness I used to measure ordering non-determinism over 2,000 runs.
Who Approved the Right Side of &&? Splitting Shell Commands Before Matching Allow Rules
The approval dialog showed part of what actually ran. Here is a harness that splits compound shell commands without breaking quotes or command substitution, matches allow rules per segment, and the numbers from running it over 45 real commands.
Are You Actually Using Every Permission You Granted? Tightening Antigravity's Unified Permissions from Real Usage Logs
Once you flip a unified permission policy to 'allow everything,' unused grants quietly pile up. This is the grant-to-usage reconciliation loop: match granted permissions against your action logs, revoke what was never exercised, and narrow what's too broad — with working TypeScript and real numbers from solo operation.